about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2012-07-19 16:44:10 -0400
committerBen Blum <bblum@andrew.cmu.edu>2012-07-19 16:44:29 -0400
commit569af8aa28818c59d89794cf27e68cdd0fbed253 (patch)
tree54ea877172e5373a8ce60e4626973670e2b151e6 /src
parentf676547c9788b919762bfb379b1e26ebd94d3dc9 (diff)
downloadrust-569af8aa28818c59d89794cf27e68cdd0fbed253.tar.gz
rust-569af8aa28818c59d89794cf27e68cdd0fbed253.zip
Add bonus linked failure test, #[ignore]d
Diffstat (limited to 'src')
-rw-r--r--src/libcore/task.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libcore/task.rs b/src/libcore/task.rs
index 69ea441ecfb..4397cd03736 100644
--- a/src/libcore/task.rs
+++ b/src/libcore/task.rs
@@ -1230,6 +1230,26 @@ fn test_spawn_linked_unsup_fail_down() { // parent fails; child fails
     fail;
 }
 
+// A bonus linked failure test
+
+#[test] #[should_fail] #[ignore(cfg(windows))]
+#[ignore] // FIXME (#1868) (bblum) make this work
+fn test_spawn_unlinked_sup_propagate_grandchild() {
+    let builder = task::builder();
+    task::unsupervise(builder);
+    task::parent(builder);
+    do task::run(builder) {
+        let builder = task::builder();
+        task::unsupervise(builder);
+        task::parent(builder);
+        do task::run(builder) {
+            loop { task::yield(); }
+        }
+    }
+    for iter::repeat(8192) { task::yield(); }
+    fail;
+}
+
 #[test]
 #[ignore(cfg(windows))]
 fn test_spawn_raw_notify() {