| //@ run-pass |
| |
| //@ ignore-windows - this is a unix-specific test |
| //@ ignore-wasm32 no processes |
| //@ ignore-sgx no processes |
| use std::env; |
| use std::os::unix::process::CommandExt; |
| use std::process::Command; |
| |
| fn main() { |
| let args: Vec<_> = env::args().collect(); |
| |
| if args.len() > 1 { |
| assert_eq!(args[1], "doing-test"); |
| assert_eq!(args[0], "i have a silly name"); |
| |
| println!("passed"); |
| return; |
| } |
| |
| let output = |
| Command::new(&args[0]).arg("doing-test").arg0("i have a silly name").output().unwrap(); |
| assert!( |
| output.stderr.is_empty(), |
| "Non-empty stderr: {}", |
| String::from_utf8_lossy(&output.stderr) |
| ); |
| assert!(output.status.success()); |
| assert_eq!(output.stdout, b"passed\n"); |
| } |