mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-10-31 04:57:19 +00:00 
			
		
		
		
	 83226094e7
			
		
	
	
		83226094e7
		
	
	
	
	
		
			
			- 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`.
		
			
				
	
	
		
			21 lines
		
	
	
		
			601 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			21 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());
 | |
|     }
 | |
| }
 |