1 | BEGIN { $| = 1; print "1..6\n"; } |
1 | BEGIN { $| = 1; print "1..8\n"; } |
2 | END {print "not ok 1\n" unless $loaded;} |
2 | END {print "not ok 1\n" unless $loaded;} |
3 | use Coro::State; |
3 | use Coro::State; |
4 | $loaded = 1; |
4 | $loaded = 1; |
5 | print "ok 1\n"; |
5 | print "ok 1\n"; |
6 | |
6 | |
7 | my $main = new Coro::State; |
7 | my $main = new Coro::State; |
8 | my $proc = new Coro::State \&a; |
8 | my $proc = new Coro::State \&a; |
|
|
9 | my $proc2 = new Coro::State \&b; |
9 | |
10 | |
10 | sub a { |
11 | sub a { |
|
|
12 | $/ = 77; |
11 | print "ok 3\n"; |
13 | print "ok 3\n"; |
12 | $proc->transfer ($main, 0); |
14 | $proc->transfer ($main); |
13 | print "ok 5\n"; |
15 | print $/ == 77 ? "" : "not ", "ok 5\n"; |
14 | $proc->transfer ($main, 0); |
16 | $proc->transfer ($main); |
15 | print "not ok 6\n"; |
17 | print "not ok 6\n"; |
16 | die; |
18 | die; |
17 | } |
19 | } |
18 | |
20 | |
|
|
21 | sub b { |
|
|
22 | print $/ != 55 ? "not " : "", "ok 7\n"; |
|
|
23 | $proc2->transfer ($main); |
|
|
24 | print "not ok 8\n"; |
|
|
25 | die; |
|
|
26 | } |
|
|
27 | |
|
|
28 | $proc2->save (0); |
|
|
29 | |
|
|
30 | $/ = 55; |
|
|
31 | |
19 | print "ok 2\n"; |
32 | print "ok 2\n"; |
20 | $main->transfer ($proc, 0); |
33 | $main->transfer ($proc); |
21 | print "ok 4\n"; |
34 | print $/ != 55 ? "not " : "ok 4\n"; |
22 | $main->transfer ($proc, 0); |
35 | $main->transfer ($proc); |
23 | print "ok 6\n"; |
36 | print $/ != 55 ? "not " : "ok 6\n"; |
|
|
37 | $main->transfer ($proc2); |
|
|
38 | print $/ != 55 ? "not " : "ok 8\n"; |
24 | |
39 | |