]> git.lizzy.rs Git - rust.git/blob - src/test/run-pass-valgrind/exit-flushes.rs
Auto merge of #44779 - tjkirch:master, r=alexcrichton
[rust.git] / src / test / run-pass-valgrind / exit-flushes.rs
1 // Copyright 2015 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 // no-prefer-dynamic
12 // ignore-macos this needs valgrind 3.11 or higher; see
13 // https://github.com/rust-lang/rust/pull/30365#issuecomment-165763679
14 // ignore-emscripten
15
16 use std::env;
17 use std::process::{exit, Command};
18
19 fn main() {
20     if env::args().len() > 1 {
21         print!("hello!");
22         exit(0);
23     } else {
24         let out = Command::new(env::args().next().unwrap()).arg("foo")
25                           .output().unwrap();
26         assert!(out.status.success());
27         assert_eq!(String::from_utf8(out.stdout).unwrap(), "hello!");
28         assert_eq!(String::from_utf8(out.stderr).unwrap(), "");
29     }
30 }