3 // ignore-emscripten no processes
4 // ignore-sgx no processes
7 use std::io::prelude::*;
9 use std::process::{Command, Stdio};
13 let args: Vec<String> = env::args().collect();
14 if args.len() > 1 && args[1] == "child" {
22 let args: Vec<String> = env::args().collect();
23 let mut p = Command::new(&args[0]).arg("child")
24 .stdout(Stdio::piped())
25 .stdin(Stdio::piped())
27 p.stdin.as_mut().unwrap().write_all(b"test1\ntest2\ntest3").unwrap();
28 let out = p.wait_with_output().unwrap();
29 assert!(out.status.success());
30 let s = str::from_utf8(&out.stdout).unwrap();
31 assert_eq!(s, "test1\ntest2\ntest3\n");
35 let mut stdin = io::stdin();
36 for line in stdin.lock().lines() {
37 println!("{}", line.unwrap());