2 releases
| 0.1.1 | Aug 13, 2022 |
|---|---|
| 0.1.0 | Aug 13, 2022 |
#24 in #stderr
10KB
237 lines
capture-stdio
Rust crate to capture stdin/stdout/stderr of the current process.
lib.rs:
This crate provide some helper functions to capture the stdin/out/err of the current process to help mocking.
In testing, cargo test capture the stdout/err via std::io::set_output_capture. We can use the same mechanism to intercept [print!] and [eprint!] output. The crate wraps the call in [OutputCapture] so that you can intercept the output easily.
The crate also implements a pipe-then-dup method to intercept stdio. In detail, it creates a pipe and replaces the fd of stdio. You can use [PipedStdin] to intercept stdin, use [PipedStdout] for stdout and [PipedStderr] for stderr.
Dependencies
~0–6.5MB
~30K SLoC