From 9968ccfc303f6cc6fed614118400faabcb9a6760 Mon Sep 17 00:00:00 2001 From: Dan Luu Date: Sun, 28 Apr 2013 14:50:04 -0400 Subject: [PATCH 1/3] Update old xfailing spawn/bind/join test --- src/test/run-pass/clone-with-exterior.rs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/test/run-pass/clone-with-exterior.rs b/src/test/run-pass/clone-with-exterior.rs index f0734e285b2..57c4f91142d 100644 --- a/src/test/run-pass/clone-with-exterior.rs +++ b/src/test/run-pass/clone-with-exterior.rs @@ -8,17 +8,21 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -//xfail-test - extern mod std; +use core::task::spawn; -fn f(x : @{a:int, b:int}) { - assert!((x.a == 10)); - assert!((x.b == 12)); +struct Pair { + a: int, + b: int } pub fn main() { - let z : @{a:int, b:int} = @{ a : 10, b : 12}; - let p = task::_spawn(bind f(z)); - task::join_id(p); + let z = ~Pair { a : 10, b : 12}; + + let f: ~fn() = || { + assert!((z.a == 10)); + assert!((z.b == 12)); + }; + + spawn(f); } From 212d77efcc2724cde74de3297b8d259675ce7bab Mon Sep 17 00:00:00 2001 From: Dan Luu Date: Sun, 28 Apr 2013 15:02:15 -0400 Subject: [PATCH 2/3] Remove test for any type -> match type, which doesn't seem to exist anymore --- src/test/run-pass/alt-type-simple.rs | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 src/test/run-pass/alt-type-simple.rs diff --git a/src/test/run-pass/alt-type-simple.rs b/src/test/run-pass/alt-type-simple.rs deleted file mode 100644 index dbe9ae7cba5..00000000000 --- a/src/test/run-pass/alt-type-simple.rs +++ /dev/null @@ -1,14 +0,0 @@ - -// xfail-test - -fn altsimple(any x) { - match type (f) { - case (int i) { print("int"); } - case (str s) { print("str"); } - } -} - -pub fn main() { - altsimple(5); - altsimple("asdfasdfsDF"); -} From e9814da3c0959247a79cffca8af3f07d124a8e49 Mon Sep 17 00:00:00 2001 From: Dan Luu Date: Sun, 28 Apr 2013 15:33:41 -0400 Subject: [PATCH 3/3] Updated spawn / loop thread to work with current syntax --- src/test/run-pass/infinite-loops.rs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/test/run-pass/infinite-loops.rs b/src/test/run-pass/infinite-loops.rs index 62644fc678e..611a4b9ccab 100644 --- a/src/test/run-pass/infinite-loops.rs +++ b/src/test/run-pass/infinite-loops.rs @@ -15,16 +15,15 @@ // xfail-test extern mod std; -use task::join; - -fn loop(n: int) { - let t1: task; - let t2: task; - - if n > 0 { t1 = spawn loop(n - 1); t2 = spawn loop(n - 1); } - +fn loopy(n: int) { + if n > 0 { do spawn { loopy(n - 1) }; do spawn { loopy(n - 1) }; } loop { } } -pub fn main() { let t: task = spawn loop(5); join(t); } +pub fn main() { + // Commenting this out, as this will hang forever otherwise. + // Even after seeing the comment above, I'm not sure what the + // intention of this test is. + // do spawn { loopy(5) }; +}