/src/test/run-pass/task-comm-0.rs

http://github.com/jruderman/rust · Rust · 29 lines · 25 code · 4 blank · 0 comment · 1 complexity · 751057754e4bd4b91efe5d9e607ddee5 MD5 · raw file

  1. use std;
  2. import pipes;
  3. import pipes::chan;
  4. import pipes::port;
  5. import task;
  6. fn main() { test05(); }
  7. fn test05_start(ch : chan<int>) {
  8. ch.send(10);
  9. error!{"sent 10"};
  10. ch.send(20);
  11. error!{"sent 20"};
  12. ch.send(30);
  13. error!{"sent 30"};
  14. }
  15. fn test05() {
  16. let (ch, po) = pipes::stream();
  17. task::spawn(|| test05_start(ch) );
  18. let mut value = po.recv();
  19. log(error, value);
  20. value = po.recv();
  21. log(error, value);
  22. value = po.recv();
  23. log(error, value);
  24. assert (value == 30);
  25. }