]> git.proxmox.com Git - rustc.git/blob - src/test/ui/panic-runtime/abort.rs
Update unsuspicious file list
[rustc.git] / src / test / ui / panic-runtime / abort.rs
1 // run-pass
2 #![allow(unused_variables)]
3 // compile-flags:-C panic=abort
4 // no-prefer-dynamic
5 // ignore-emscripten no processes
6 // ignore-sgx no processes
7 // ignore-macos
8
9 use std::process::Command;
10 use std::env;
11
12 struct Bomb;
13
14 impl Drop for Bomb {
15 fn drop(&mut self) {
16 std::process::exit(0);
17 }
18 }
19
20 fn main() {
21 let mut args = env::args_os();
22 let me = args.next().unwrap();
23
24 if let Some(s) = args.next() {
25 if &*s == "foo" {
26
27 let _bomb = Bomb;
28
29 panic!("try to catch me");
30 }
31 }
32
33 let mut cmd = Command::new(env::args_os().next().unwrap());
34 cmd.arg("foo");
35
36 // ARMv6 hanges while printing the backtrace, see #41004
37 if cfg!(target_arch = "arm") && cfg!(target_env = "gnu") {
38 cmd.env("RUST_BACKTRACE", "0");
39 }
40
41 let s = cmd.status();
42 assert!(s.unwrap().code() != Some(0));
43 }