perl_subprocess_runtime/
lib.rs1#![deny(unsafe_code)]
7#![cfg_attr(test, allow(clippy::panic, clippy::unwrap_used, clippy::expect_used))]
8#![warn(rust_2018_idioms)]
9#![warn(missing_docs)]
10#![warn(clippy::all)]
11
12mod error;
13#[cfg(not(target_arch = "wasm32"))]
14mod os_runtime;
15mod output;
16
17pub mod mock;
19
20pub use error::SubprocessError;
21#[cfg(not(target_arch = "wasm32"))]
22pub use os_runtime::OsSubprocessRuntime;
23pub use output::SubprocessOutput;
24
25pub trait SubprocessRuntime: Send + Sync {
27 fn run_command(
29 &self,
30 program: &str,
31 args: &[&str],
32 stdin: Option<&[u8]>,
33 ) -> Result<SubprocessOutput, SubprocessError>;
34}
35
36#[cfg(test)]
37mod tests;