#![cfg(feature = "test-support")]
use std::process::Command;
use std::sync::atomic::{AtomicBool, Ordering};
static TEST_MODE: AtomicBool = AtomicBool::new(false);
#[macro_export]
macro_rules! enable_test_support {
() => {
#[ctor::ctor]
fn __procspawn_test_support_init() {
$crate::testsupport::enable();
}
#[test]
fn __procspawn_test_helper() {
$crate::init();
}
};
}
pub fn enable() {
TEST_MODE.store(true, Ordering::SeqCst);
}
pub fn update_command_for_tests(cmd: &mut Command) {
if TEST_MODE.load(Ordering::SeqCst) {
cmd.arg("__procspawn_test_helper");
cmd.arg("--exact");
cmd.arg("--test-threads=1");
cmd.arg("-q");
}
}