about summary refs log tree commit diff
path: root/src/test/run-fail/task-comm-recv-block.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-fail/task-comm-recv-block.rs')
-rw-r--r--src/test/run-fail/task-comm-recv-block.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/run-fail/task-comm-recv-block.rs b/src/test/run-fail/task-comm-recv-block.rs
new file mode 100644
index 00000000000..cc16965d740
--- /dev/null
+++ b/src/test/run-fail/task-comm-recv-block.rs
@@ -0,0 +1,19 @@
+// error-pattern:goodfail
+
+use std;
+import std::task;
+import std::comm;
+
+fn goodfail() {
+    task::yield();
+    fail "goodfail";
+}
+
+fn main() {
+    task::spawn(bind goodfail());
+    let po = comm::port();
+    // We shouldn't be able to get past this recv since there's no
+    // message available
+    let i: int = comm::recv(po);
+    fail "badfail";
+}