Skip to content

Commit 9f84f88

Browse files
committed
port over the tests to use the new API
1 parent 25e81e3 commit 9f84f88

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+202
-186
lines changed

src/compiletest/compiletest.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -193,21 +193,21 @@ fn closure_to_task(cx: cx, configport: port<[u8]>, testfn: fn@()) ->
193193
test::joinable {
194194
testfn();
195195
let testfile = recv(configport);
196-
197-
ret task::spawn_joinable(
198-
(cx.config, cx.procsrv.chan, testfile), run_test_task);
196+
let (config, chan) = (cx.config, cx.procsrv.chan);
197+
ret task::spawn_joinable {||
198+
run_test_task(config, chan, testfile);
199+
};
199200
}
200201

201-
fn run_test_task(args: (common::config, procsrv::reqchan, [u8])) {
202-
203-
let (config, procsrv_chan, testfile) = args;
204-
202+
fn run_test_task(config: common::config,
203+
procsrv_chan: procsrv::reqchan,
204+
testfile: [u8]) {
205205
test::configure_test_task();
206206

207207
let procsrv = procsrv::from_chan(procsrv_chan);
208208
let cx = {config: config, procsrv: procsrv};
209209

210-
runtest::run(cx, testfile);
210+
runtest::run(cx, copy testfile);
211211
}
212212

213213
// Local Variables:

src/compiletest/procsrv.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,13 @@ type response = {pid: pid_t, infd: fd_t,
4040

4141
fn mk() -> handle {
4242
let setupport = port();
43-
let task = task::spawn_joinable(
44-
chan(setupport),
45-
fn (setupchan: chan<chan<request>>) {
46-
let reqport = port();
47-
let reqchan = chan(reqport);
48-
send(setupchan, reqchan);
49-
worker(reqport);
50-
});
43+
let setupchan = chan(setupport);
44+
let task = task::spawn_joinable {||
45+
let reqport = port();
46+
let reqchan = chan(reqport);
47+
send(setupchan, reqchan);
48+
worker(reqport);
49+
};
5150
ret {task: option::some(task), chan: recv(setupport)};
5251
}
5352

src/test/run-pass/basic-1.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ fn a(c: chan<int>) { send(c, 10); }
1111

1212
fn main() {
1313
let p = port();
14-
task::spawn(chan(p), a);
15-
task::spawn(chan(p), a);
14+
let ch = chan(p);
15+
task::spawn {|| a(ch); };
16+
task::spawn {|| a(ch); };
1617
let n: int = 0;
1718
n = recv(p);
1819
n = recv(p);

src/test/run-pass/basic-2.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
use std;
44
import comm;
5+
import comm::port;
56
import comm::send;
67
import comm::chan;
78
import comm::recv;
@@ -10,9 +11,10 @@ import task;
1011
fn a(c: chan<int>) { #debug("task a0"); #debug("task a1"); send(c, 10); }
1112

1213
fn main() {
13-
let p = comm::port();
14-
task::spawn(chan(p), a);
15-
task::spawn(chan(p), b);
14+
let p = port();
15+
let ch = chan(p);
16+
task::spawn {|| a(ch); };
17+
task::spawn {|| b(ch); };
1618
let n: int = 0;
1719
n = recv(p);
1820
n = recv(p);

src/test/run-pass/basic.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ fn main() {
3131
let n: int = 2 + 3 * 7;
3232
let s: str = "hello there";
3333
let p = comm::port();
34-
task::spawn(chan(p), a);
35-
task::spawn(chan(p), b);
34+
let ch = comm::chan(p);
35+
task::spawn {|| a(ch); };
36+
task::spawn {|| b(ch); };
3637
let x: int = 10;
3738
x = g(n, s);
3839
log(debug, x);

src/test/run-pass/binops.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,10 @@ fn test_ptr() {
8787
}
8888

8989
fn test_task() {
90-
fn f(&&_i: ()) { }
90+
fn f() { }
9191
let f1 = f, f2 = f;
92-
let t1 = task::spawn((), f1);
93-
let t2 = task::spawn((), f2);
92+
let t1 = task::spawn {|| f1(); };
93+
let t2 = task::spawn {|| f2(); };
9494

9595
assert (t1 == t1);
9696
assert (t1 != t2);

src/test/run-pass/chan-leak.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ fn request_task(c: chan<ctx>) {
2323

2424
fn new() -> ctx {
2525
let p = port();
26-
let t = task::spawn(chan(p), request_task);
26+
let ch = chan(p);
27+
let t = task::spawn {|| request_task(ch); };
2728
let cx: ctx;
2829
cx = recv(p);
2930
ret cx;

src/test/run-pass/child-outlives-parent.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ import task;
55

66
fn child2(&&s: str) { }
77

8-
fn main() { let x = task::spawn("hi", child2); }
8+
fn main() { let x = task::spawn {|| child2("hi"); }; }

src/test/run-pass/comm.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ import task;
99

1010
fn main() {
1111
let p = comm::port();
12-
let t = task::spawn(chan(p), child);
12+
let ch = comm::chan(p);
13+
let t = task::spawn {|| child(ch); };
1314
let y = recv(p);
1415
#error("received");
1516
log(error, y);

src/test/run-pass/hashmap-memory.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ mod map_reduce {
3333
tag ctrl_proto { find_reducer([u8], chan<int>); mapper_done; }
3434

3535
fn start_mappers(ctrl: chan<ctrl_proto>, inputs: [str]) {
36-
for i: str in inputs { task::spawn((ctrl, i), map_task); }
36+
for i: str in inputs {
37+
task::spawn {|| map_task(ctrl, i); };
38+
}
3739
}
3840

39-
fn map_task(&&args: (chan<ctrl_proto>, str)) {
40-
let (ctrl, input) = args;
41-
41+
fn map_task(ctrl: chan<ctrl_proto>, input: str) {
4242
let intermediates = map::new_str_hash();
4343

4444
fn emit(im: map::hashmap<str, int>, ctrl: chan<ctrl_proto>, key: str,

src/test/run-pass/issue-507.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,15 @@ import comm::recv;
1818
fn grandchild(c: chan<int>) { send(c, 42); }
1919

2020
fn child(c: chan<int>) {
21-
let _grandchild = task::spawn_joinable(copy c, grandchild);
21+
let _grandchild = task::spawn_joinable {|| grandchild(c); };
2222
join(_grandchild);
2323
}
2424

2525
fn main() {
2626
let p = comm::port();
27+
let ch = chan(p);
2728

28-
let _child = task::spawn_joinable(chan(p), child);
29+
let _child = task::spawn_joinable {|| child(ch); };
2930

3031
let x: int = recv(p);
3132

src/test/run-pass/issue-687.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ fn producer(c: chan<[u8]>) {
1515
send(c, empty);
1616
}
1717

18-
fn packager(&&args: (chan<chan<[u8]>>, chan<msg>)) {
19-
let (cb, msg) = args;
18+
fn packager(cb: chan<chan<[u8]>>, msg: chan<msg>) {
2019
let p: port<[u8]> = port();
2120
send(cb, chan(p));
2221
while true {
@@ -39,11 +38,13 @@ fn packager(&&args: (chan<chan<[u8]>>, chan<msg>)) {
3938

4039
fn main() {
4140
let p: port<msg> = port();
41+
let ch = chan(p);
4242
let recv_reader: port<chan<[u8]>> = port();
43-
let pack = task::spawn((chan(recv_reader), chan(p)), packager);
43+
let recv_reader_chan = chan(recv_reader);
44+
let pack = task::spawn {|| packager(recv_reader_chan, ch); };
4445

4546
let source_chan: chan<[u8]> = recv(recv_reader);
46-
let prod = task::spawn(source_chan, producer);
47+
let prod = task::spawn {|| producer(source_chan); };
4748

4849
while true {
4950
let msg = recv(p);

src/test/run-pass/issue-783.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,15 @@ use std;
22
import comm::*;
33
import task::*;
44

5-
fn a(&&_args: ()) {
5+
fn a() {
66
fn doit() {
77
fn b(c: chan<chan<int>>) {
88
let p = port();
99
send(c, chan(p));
1010
}
1111
let p = port();
12-
spawn(chan(p), b);
12+
let ch = chan(p);
13+
spawn {|| b(ch); };
1314
recv(p);
1415
}
1516
let i = 0;
@@ -20,6 +21,6 @@ fn a(&&_args: ()) {
2021
}
2122

2223
fn main() {
23-
let t = spawn_joinable((), a);
24+
let t = spawn_joinable {|| a(); };
2425
join(t);
2526
}

src/test/run-pass/ivec-tag.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ fn producer(c: chan<[u8]>) {
1515

1616
fn main() {
1717
let p: port<[u8]> = port();
18-
let prod = task::spawn(chan(p), producer);
18+
let ch = chan(p);
19+
let prod = task::spawn {|| producer(ch); };
1920

2021
let data: [u8] = recv(p);
2122
}

src/test/run-pass/join.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ use std;
55
import task::*;
66

77
fn main() {
8-
let other = spawn_joinable((), child);
8+
let other = spawn_joinable {|| child(); };
99
#error("1");
1010
yield();
1111
join(other);
1212
#error("3");
1313
}
1414

15-
fn child(&&_i: ()) { #error("2"); }
15+
fn child() { #error("2"); }

src/test/run-pass/lazychan.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ import comm::*;
66

77
fn main() {
88
let p = port();
9+
let ch = chan(p);
910
let y: int;
1011

11-
task::spawn(chan(p), child);
12+
task::spawn {|| child(ch); };
1213
y = recv(p);
1314
#debug("received 1");
1415
log(debug, y);
1516
assert (y == 10);
1617

17-
task::spawn(chan(p), child);
18+
task::spawn {|| child(ch); };
1819
y = recv(p);
1920
#debug("received 2");
2021
log(debug, y);

src/test/run-pass/linked-failure.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ import task;
55
import comm::port;
66
import comm::recv;
77

8-
fn child(&&_i: ()) { assert (1 == 2); }
8+
fn child() { assert (1 == 2); }
99

10-
fn parent(&&_i: ()) {
10+
fn parent() {
1111
// Since this task isn't supervised it won't bring down the whole
1212
// process
1313
task::unsupervise();
1414
let p = port::<int>();
15-
task::spawn((), child);
15+
task::spawn {|| child(); };
1616
let x = recv(p);
1717
}
1818

1919
fn main() {
20-
task::spawn((), parent);
20+
task::spawn {|| parent(); };
2121
}

src/test/run-pass/lots-a-fail.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ import task;
44
import comm;
55
import uint;
66

7-
fn die(&&_i: ()) {
7+
fn die() {
88
fail;
99
}
1010

11-
fn iloop(&&_i: ()) {
11+
fn iloop() {
1212
task::unsupervise();
13-
task::spawn((), die);
13+
task::spawn {|| die(); };
1414
}
1515

1616
fn main() {
1717
uint::range(0u, 100u) {|_i|
18-
task::spawn((), iloop);
18+
task::spawn {|| iloop(); };
1919
}
2020
}

src/test/run-pass/many.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,22 @@ use std;
44
import task;
55
import comm;
66

7-
fn sub(&&args: (comm::chan<int>, int)) {
8-
let (parent, id) = args;
7+
fn sub(parent: comm::chan<int>, id: int) {
98
if id == 0 {
109
comm::send(parent, 0);
1110
} else {
1211
let p = comm::port();
13-
let child = task::spawn((comm::chan(p), id - 1), sub);
12+
let ch = comm::chan(p);
13+
let child = task::spawn {|| sub(ch, id - 1); };
1414
let y = comm::recv(p);
1515
comm::send(parent, y + 1);
1616
}
1717
}
1818

1919
fn main() {
2020
let p = comm::port();
21-
let child = task::spawn((comm::chan(p), 200), sub);
21+
let ch = comm::chan(p);
22+
let child = task::spawn {|| sub(ch, 200); };
2223
let y = comm::recv(p);
2324
#debug("transmission complete");
2425
log(debug, y);

src/test/run-pass/morestack5.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ fn main() {
1717
let sz = 400u;
1818
while sz < 500u {
1919
rustrt::set_min_stack(sz);
20-
task::join(task::spawn_joinable(200, getbig));
20+
task::join(task::spawn_joinable {|| getbig(200) });
2121
sz += 1u;
2222
}
2323
}

src/test/run-pass/morestack6.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,11 @@ fn calllink08() { rustrt::get_task_id(); }
3232
fn calllink09() { rustrt::sched_threads(); }
3333
fn calllink10() { rustrt::rust_get_task(); }
3434

35-
fn runtest(&&args:(fn(), u32)) {
36-
let (f, frame_backoff) = args;
35+
fn runtest(f: sendfn(), frame_backoff: u32) {
3736
runtest2(f, frame_backoff, 0 as *u8);
3837
}
3938

40-
fn runtest2(f: fn(), frame_backoff: u32, last_stk: *u8) -> u32 {
39+
fn runtest2(f: sendfn(), frame_backoff: u32, last_stk: *u8) -> u32 {
4140
let curr_stk = rustrt::debug_get_stk_seg();
4241
if (last_stk != curr_stk && last_stk != 0 as *u8) {
4342
// We switched stacks, go back and try to hit the dynamic linker
@@ -73,6 +72,6 @@ fn main() {
7372
let sz = rng.next() % 256u32 + 256u32;
7473
let frame_backoff = rng.next() % 10u32 + 1u32;
7574
rustrt::set_min_stack(sz as uint);
76-
task::join(task::spawn_joinable((f, frame_backoff), runtest));
75+
task::join(task::spawn_joinable {|| runtest(f, frame_backoff);});
7776
}
7877
}

0 commit comments

Comments
 (0)