]> git.lizzy.rs Git - rust.git/blob - tests/ui/print-stdout-eprint-stderr.rs
Rollup merge of #106709 - khuey:disable_split_dwarf_inlining_by_default, r=davidtwco
[rust.git] / tests / ui / print-stdout-eprint-stderr.rs
1 // run-pass
2 // ignore-emscripten spawning processes is not supported
3 // ignore-sgx no processes
4
5 use std::{env, process};
6
7 fn child() {
8     print!("[stdout 0]");
9     print!("[stdout {}]", 1);
10     println!("[stdout {}]", 2);
11     println!();
12     eprint!("[stderr 0]");
13     eprint!("[stderr {}]", 1);
14     eprintln!("[stderr {}]", 2);
15     eprintln!();
16 }
17
18 fn parent() {
19     let this = env::args().next().unwrap();
20     let output = process::Command::new(this).arg("-").output().unwrap();
21     assert!(output.status.success());
22
23     let stdout = String::from_utf8(output.stdout).unwrap();
24     let stderr = String::from_utf8(output.stderr).unwrap();
25
26     assert_eq!(stdout, "[stdout 0][stdout 1][stdout 2]\n\n");
27     assert_eq!(stderr, "[stderr 0][stderr 1][stderr 2]\n\n");
28 }
29
30 fn main() {
31     if env::args().count() == 2 { child() } else { parent() }
32 }