ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/t/68_poe_07_io.t
Revision: 1.5
Committed: Mon Jul 4 21:14:30 2011 UTC (12 years, 11 months ago) by root
Content type: application/x-troff
Branch: MAIN
Changes since 1.4: +2 -1 lines
Log Message:
*** empty log message ***

File Contents

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