harn_hostlib/process/mod.rs
1//! Process abstraction used by the deterministic process tools.
2//!
3//! Production code spawns through [`spawn_process`], which dispatches to
4//! the [`ProcessSpawner`] currently installed via
5//! [`install_spawner`]. The default spawner ([`real::default_spawner`])
6//! goes through `harn_vm::process_sandbox`. Tests install
7//! [`mock::MockSpawner`] to drive process behaviour deterministically.
8
9pub mod handle;
10pub mod mock;
11pub mod real;
12
13pub use handle::{
14 current_spawner, install_spawner, spawn_process, EnvMode, ExitStatus, ProcessError,
15 ProcessHandle, ProcessKiller, ProcessSpawner, SpawnSpec, SpawnerGuard,
16};
17pub use mock::{MockHandleController, MockProcess, MockProcessConfig, MockSpawner};
18pub use real::default_spawner;