2 个版本
0.1.1 | 2022年8月13日 |
---|---|
0.1.0 | 2022年8月13日 |
#24 in #stderr
10KB
237 行代码(不含注释)
capture-stdio
Rust 包用于捕获当前进程的 stdin/stdout/stderr。
lib.rs
:
此包提供一些辅助函数,用于捕获当前进程的 stdin/out/err 以帮助模拟。
在测试中,cargo test
通过 std::io::set_output_capture
捕获 stdout/err。我们可以使用相同的机制来拦截 [print!] 和 [eprint!] 输出。该包通过 [OutputCapture] 包装调用,以便您可以轻松拦截输出。
该包还实现了一个 pipe
-then-dup
方法来拦截 stdio。具体来说,它创建一个管道并替换 stdio 的 fd。您可以使用 [PipedStdin] 来拦截 stdin,使用 [PipedStdout] 来拦截 stdout,使用 [PipedStderr] 来拦截 stderr。
依赖项
~0–6.5MB
~30K SLoC