ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/t/68_poe_07_io.t
Revision: 1.1
Committed: Wed Jul 8 04:49:18 2009 UTC (14 years, 10 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-4_81
Log Message:
*** empty log message ***

File Contents

# Content
1 $|=1;
2 $^W=0;
3 BEGIN { print "1..18\n" }
4
5 use AnyEvent;
6 use AnyEvent::Util;
7 use AnyEvent::Impl::POE;
8
9 print "ok 1\n";
10
11 my ($a, $b) = AnyEvent::Util::portable_socketpair;
12
13 print $a && $b ? "" : "not ", "ok 2 # $a,$b\n";
14
15 my ($cv, $t, $ra, $wa, $rb, $wb);
16
17 $rb = AnyEvent->io (fh => $b, poll => "r", cb => sub {
18 print "ok 6\n";
19 sysread $b, my $buf, 1;
20 print "ok 7\n";
21 $wb = AnyEvent->io (fh => $b, poll => "w", cb => sub {
22 print "ok 8\n";
23 undef $wb;
24 syswrite $b, "1";
25 });
26 });
27
28 print "ok 3\n";
29
30 { my $cv = AnyEvent->condvar; $t = AnyEvent->timer (after => 0.05, cb => sub { $cv->send }); $cv->wait }
31
32 print "ok 4\n";
33
34 $wa = AnyEvent->io (fh => $a, poll => "w", cb => sub {
35 syswrite $a, "0";
36 undef $wa;
37 print "ok 5\n";
38 });
39
40 $ra = AnyEvent->io (fh => $a, poll => "r", cb => sub {
41 sysread $a, my $buf, 1;
42 print "ok 9\n";
43 $cv->send;
44 });
45
46 $cv = AnyEvent->condvar; $cv->wait;
47
48 print "ok 10\n";
49
50 $rb = AnyEvent->io (fh => fileno $b, poll => "r", cb => sub {
51 print "ok 14\n";
52 sysread $b, my $buf, 1;
53 print "ok 15\n";
54 $wb = AnyEvent->io (fh => fileno $b, poll => "w", cb => sub {
55 print "ok 16\n";
56 undef $wb;
57 syswrite $b, "1";
58 });
59 });
60
61 print "ok 11\n";
62
63 { my $cv = AnyEvent->condvar; $t = AnyEvent->timer (after => 0.05, cb => sub { $cv->send }); $cv->wait }
64
65 print "ok 12\n";
66
67 $wa = AnyEvent->io (fh => fileno $a, poll => "w", cb => sub {
68 syswrite $a, "0";
69 undef $wa;
70 print "ok 13\n";
71 });
72
73 $ra = AnyEvent->io (fh => $a, poll => "r", cb => sub {
74 sysread $a, my $buf, 1;
75 print "ok 17\n";
76 $cv->send;
77 });
78
79 $cv = AnyEvent->condvar; $cv->wait;
80
81 print "ok 18\n";
82