ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/t/63_eventlib_07_io.t
Revision: 1.2
Committed: Sat Jul 18 00:05:29 2009 UTC (14 years, 10 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-0_85
Changes since 1.1: +3 -4 lines
Log Message:
*** empty log message ***

File Contents

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