use std::process::{Command, Stdio};
const BIN: &str = env!("CARGO_BIN_EXE_browser-automation-cli");
#[test]
fn commands_json_closed_pipe_maps_to_141_or_success() {
let mut child = Command::new(BIN)
.args(["commands", "--json"])
.env("NO_COLOR", "1")
.stdout(Stdio::piped())
.stderr(Stdio::null())
.spawn()
.expect("spawn");
{
let mut out = child.stdout.take().expect("stdout");
let mut buf = [0u8; 1];
let _ = std::io::Read::read(&mut out, &mut buf);
drop(out);
}
let status = child.wait().expect("wait");
let code = status.code().unwrap_or(-1);
assert!(
code == 141 || code == 0 || code == 13 || code == 128 + 13,
"unexpected exit {code}"
);
}
#[test]
fn error_kind_broken_pipe_is_141() {
use browser_automation_cli::error::ErrorKind;
assert_eq!(ErrorKind::BrokenPipe.exit_code(), 141);
}