rust/tests/ui/process/signal-exit-status.rs
许杰友 Jieyou Xu (Joe) 83226094e7 tests: cleanup tests/ui/process/signal-exit-status.rs
- Replace `ignore-windows` -> `only-unix` since the test exercises Unix
  signals and `ExitStatus::code` behavior that's specific to Unix.
- Replace `ignore-*` with `needs-subprocess`.
2025-01-23 20:51:29 +08:00

20 lines
601 B
Rust

//@ run-pass
//@ needs-subprocess
//@ only-unix (`code()` returns `None` if terminated by a signal on Unix)
//@ ignore-fuchsia code returned as ZX_TASK_RETCODE_EXCEPTION_KILL, FIXME (#58590)
#![feature(core_intrinsics)]
use std::env;
use std::process::Command;
pub fn main() {
let args: Vec<String> = env::args().collect();
if args.len() >= 2 && args[1] == "signal" {
// Raise an aborting signal without UB
core::intrinsics::abort();
} else {
let status = Command::new(&args[0]).arg("signal").status().unwrap();
assert!(status.code().is_none());
}
}