]> git.lizzy.rs Git - rust.git/blob - src/test/ui/threads-sendsync/task-stderr.rs
Merge commit 'e18101137866b79045fee0ef996e696e68c920b4' into clippyup
[rust.git] / src / test / ui / threads-sendsync / task-stderr.rs
1 // run-pass
2 // ignore-emscripten no threads support
3
4 #![feature(internal_output_capture)]
5
6 use std::io;
7 use std::str;
8 use std::sync::{Arc, Mutex};
9 use std::thread;
10
11 fn main() {
12     let data = Arc::new(Mutex::new(Vec::new()));
13     let res = thread::Builder::new().spawn({
14         let data = data.clone();
15         move || {
16             io::set_output_capture(Some(data));
17             panic!("Hello, world!")
18         }
19     }).unwrap().join();
20     assert!(res.is_err());
21
22     let output = data.lock().unwrap();
23     let output = str::from_utf8(&output).unwrap();
24     assert!(output.contains("Hello, world!"));
25 }