]>
Commit | Line | Data |
---|---|---|
5869c6ff XL |
1 | // run-pass |
2 | ||
064997fb | 3 | // compile-flags:-Cstrip=none |
5869c6ff XL |
4 | // compile-flags:-g -Csplit-debuginfo=unpacked |
5 | // only-macos | |
6 | ||
5869c6ff XL |
7 | use std::process::Command; |
8 | use std::str; | |
9 | ||
10 | #[inline(never)] | |
11 | fn main() { | |
12 | let args: Vec<String> = std::env::args().collect(); | |
13 | if args.len() >= 2 { | |
14 | println!("{}", std::backtrace::Backtrace::force_capture()); | |
15 | return; | |
16 | } | |
17 | let out = Command::new(&args[0]).env("RUST_BACKTRACE", "1").arg("foo").output().unwrap(); | |
18 | let output = format!( | |
19 | "{}\n{}", | |
20 | str::from_utf8(&out.stdout).unwrap(), | |
21 | str::from_utf8(&out.stderr).unwrap(), | |
22 | ); | |
23 | if out.status.success() && output.contains(file!()) { | |
24 | return; | |
25 | } | |
26 | println!("status: {}", out.status); | |
27 | println!("child output:\n\t{}", output.replace("\n", "\n\t")); | |
28 | panic!("failed to find {:?} in output", file!()); | |
29 | } |