about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/test/run-fail/task-comm-recv-block.rs19
-rw-r--r--src/test/run-fail/trivial-message2.rs13
2 files changed, 19 insertions, 13 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";
+}
diff --git a/src/test/run-fail/trivial-message2.rs b/src/test/run-fail/trivial-message2.rs
deleted file mode 100644
index 5bae5036e6e..00000000000
--- a/src/test/run-fail/trivial-message2.rs
+++ /dev/null
@@ -1,13 +0,0 @@
-// xfail-test
-
-/*
-  This program should hang on the po |> r line.
- */
-fn main() {
-    let po: port<int> = port();
-    let ch: chan<int> = chan(po);
-    let r;
-    po |> r;
-    ch <| 42;
-    log_err r;
-}