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

http://github.com/jruderman/rust · Rust · 44 lines · 42 code · 2 blank · 0 comment · 1 complexity · c1938dd65537bf416d58bf692f6f6662 MD5 · raw file

  1. use std;
  2. import pipes;
  3. import pipes::send;
  4. fn main() { test00(); }
  5. fn test00() {
  6. let mut r: int = 0;
  7. let mut sum: int = 0;
  8. let (c, p) = pipes::stream();
  9. c.send(1);
  10. c.send(2);
  11. c.send(3);
  12. c.send(4);
  13. r = p.recv();
  14. sum += r;
  15. log(debug, r);
  16. r = p.recv();
  17. sum += r;
  18. log(debug, r);
  19. r = p.recv();
  20. sum += r;
  21. log(debug, r);
  22. r = p.recv();
  23. sum += r;
  24. log(debug, r);
  25. c.send(5);
  26. c.send(6);
  27. c.send(7);
  28. c.send(8);
  29. r = p.recv();
  30. sum += r;
  31. log(debug, r);
  32. r = p.recv();
  33. sum += r;
  34. log(debug, r);
  35. r = p.recv();
  36. sum += r;
  37. log(debug, r);
  38. r = p.recv();
  39. sum += r;
  40. log(debug, r);
  41. assert (sum == 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8);
  42. }