Skip to content

Feat: support external commands #118

@samuelroland

Description

@samuelroland

Complex execution of binaries like in SYE: sh.elf with a non supported build command like cmake cmake . -Bbuild && cmake --build build/ can benefit from this.

Checking output of an external command like tree to validate a structure of folder is another benefit that could help train little tools like Yazi, Gitui and others.

TODOs

  • Create branch feat-external-commands
  • Create basic exos for testing with multiplateform commands like ls, echo, including shells specific like $() and | to make sure it is ran in the shell.
  • Define data structures for this new test type command
  • Support cmd (command ran in a shell), expected (expected output): ex. test = { type = 'command', cmd = 'fd -e png | wc -l', expected = "1" }
  • Support wd (working directory), swd (solution working directory): test = { type = 'command', cmd = 'tree d e f', wd = 'train', swd = 'sol' }. The output must match between execution of cmd inside wd and the execution inside swd.
  • Tests failing checks and working checks
  • Fail parsing if swd and expected are provided.
  • Mandatory fields cmd, all other optional.

cc: @AndreCostaaa what do you think about these data structures and how this is going to be parsed by serde ?

Help

Metadata

Metadata

Assignees

Labels

p2Priority 2

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions