2 // ignore-emscripten no processes
3 // ignore-sgx no processes
5 use std::cell::RefCell;
7 use std::process::Command;
10 let name = "YOU_ARE_THE_TEST";
11 if env::var(name).is_ok() {
12 std::thread::spawn(|| {
13 TLS.with(|f| f.borrow().ensure());
18 let me = env::current_exe().unwrap();
19 let output = Command::new(&me).env(name, "1").output().unwrap();
20 println!("{:?}", output);
21 assert!(output.status.success());
22 let stderr = String::from_utf8(output.stderr).unwrap();
23 assert!(stderr.contains("hello new\n"));
24 assert!(stderr.contains("hello drop\n"));
34 eprintln!("hello new");
43 eprintln!("hello drop");
48 static TLS: RefCell<Stuff> = RefCell::new(Stuff::new());