feat: add tests
This commit is contained in:
31
__std/misc/src/bin/channel_test.rs
Normal file
31
__std/misc/src/bin/channel_test.rs
Normal file
@@ -0,0 +1,31 @@
|
||||
use std::sync::mpsc::channel;
|
||||
use std::thread;
|
||||
|
||||
fn main() {
|
||||
let (sender, receiver) = channel::<Option<i32>>();
|
||||
|
||||
let h = thread::spawn(move || {
|
||||
loop {
|
||||
match receiver.recv() {
|
||||
Ok(o) => match o {
|
||||
None => {
|
||||
println!("The end!");
|
||||
return;
|
||||
}
|
||||
Some(i) => println!("Received: {}", i),
|
||||
}
|
||||
Err(e) => { // when sender closed
|
||||
println!("Error: {}", e);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
sender.send(Some(1)).unwrap();
|
||||
sender.send(Some(2)).unwrap();
|
||||
sender.send(Some(3)).unwrap();
|
||||
sender.send(None).unwrap();
|
||||
|
||||
h.join().unwrap();
|
||||
}
|
||||
Reference in New Issue
Block a user