Skip to content

Wire executable I/O through ShellIo #9

@cdprice02

Description

@cdprice02

The execute_executable function in src/executor.rs currently inherits the parent process's stdio handles (noted by the TODO comment on line 107). This means external command output bypasses the ShellIo abstraction entirely, breaking testability and violating ferrish's I/O design.

Expected behavior: Child process stdout and stderr must be piped through the ShellIo trait so that MockIo captures output in tests and the abstraction is consistent across builtins and executables.

Acceptance criteria:

  • External command stdout is routed through ShellIo::out_writer()
  • External command stderr is routed through ShellIo::err_writer()
  • Integration tests can capture external command output via MockIo
  • The TODO comment in executor.rs is resolved

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrefactorImprove the codebase

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions