use std::process::Command;
use std::time::{Duration, Instant};
#[test]
fn xtask_quick_check_xor_passes_under_five_seconds() {
let start = Instant::now();
let output = Command::new("cargo")
.env("CARGO_TARGET_DIR", "/tmp/codex-task14-target")
.args(["xtask", "quick-check", "--op", "primitive.bitwise.xor"])
.output()
.expect("Fix: failed to spawn cargo xtask quick-check");
let wall = start.elapsed();
let stdout = String::from_utf8_lossy(&output.stdout);
let stderr = String::from_utf8_lossy(&output.stderr);
assert!(
output.status.success(),
"cargo xtask quick-check exited non-zero\nstdout:\n{stdout}\nstderr:\n{stderr}"
);
assert!(
wall < Duration::from_secs(5),
"quick-check took {wall:?}, expected under 5 seconds\nstdout:\n{stdout}\nstderr:\n{stderr}"
);
assert!(
stdout.contains("quick-check: PASS"),
"quick-check output did not contain PASS line\nstdout:\n{stdout}\nstderr:\n{stderr}"
);
}