misc tweaks
[p5sagit/p5-mst-13.2.git] / t / lib / io_poll.t
1 #!./perl
2
3 BEGIN {
4     unless(grep /blib/, @INC) {
5         chdir 't' if -d 't';
6         @INC = '../lib' if -d '../lib';
7     }
8 }
9
10 select(STDERR); $| = 1;
11 select(STDOUT); $| = 1;
12
13 print "1..8\n";
14
15 use IO::Handle;
16 use IO::Poll qw(/POLL/);
17
18 my $poll = new IO::Poll;
19
20 my $stdout = \*STDOUT;
21 my $dupout = IO::Handle->new_from_fd(fileno($stdout),"w");
22
23 $poll->mask($stdout => POLLOUT);
24
25 print "not "
26         unless $poll->mask($stdout) == POLLOUT;
27 print "ok 1\n";
28
29 $poll->mask($dupout => POLLPRI);
30
31 print "not "
32         unless $poll->mask($dupout) == POLLPRI;
33 print "ok 2\n";
34
35 $poll->poll(0.1);
36
37 if ($^O eq 'MSWin32') {
38 print "ok 3 # skipped, doesn't work on non-socket fds\n";
39 print "ok 4 # skipped, doesn't work on non-socket fds\n";
40 }
41 else {
42 print "not "
43         unless $poll->events($stdout) == POLLOUT;
44 print "ok 3\n";
45
46 print "not "
47         if $poll->events($dupout);
48 print "ok 4\n";
49 }
50
51 my @h = $poll->handles;
52 print "not "
53         unless @h == 2;
54 print "ok 5\n";
55
56 $poll->remove($stdout);
57
58 @h = $poll->handles;
59
60 print "not "
61         unless @h == 1;
62 print "ok 6\n";
63
64 print "not "
65         if $poll->mask($stdout);
66 print "ok 7\n";
67
68 $poll->poll(0.1);
69
70 print "not "
71         if $poll->events($stdout);
72 print "ok 8\n";