ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/t/05_readdir.t
Revision: 1.4
Committed: Sun Jan 10 23:44:03 2010 UTC (14 years, 4 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-4_17, rel-4_14, rel-4_15, rel-4_12, rel-4_11, rel-4_18, rel-4_19, rel-4_4, rel-4_5, rel-4_0, rel-4_1, rel-4_2, rel-4_3, rel-3_65, rel-3_71, rel-3_7, rel-3_6, rel-3_9, rel-3_8, rel-3_93, rel-3_92, rel-3_91, rel-4_34, rel-4_31, rel-4_32, rel-4_33
Changes since 1.3: +6 -0 lines
Log Message:
3.6

File Contents

# User Rev Content
1 root 1.1 #!/usr/bin/perl
2    
3     use Test;
4     use IO::AIO;
5    
6     # this is a lame test, but....
7    
8 root 1.3 BEGIN { plan tests => 12 }
9 root 1.1
10     my %f;
11     ok ((opendir my $dir, "."), 1, "$!");
12     $f{$_}++ for readdir $dir;
13    
14 root 1.2 my %x = %f;
15    
16 root 1.1 aio_readdir ".", sub {
17 root 1.2 delete $x{"."};
18     delete $x{".."};
19 root 1.1 if ($_[0]) {
20     ok (1);
21     my $ok = 1;
22 root 1.2 $ok &&= delete $x{$_} for @{$_[0]};
23 root 1.1 ok ($ok);
24 root 1.2 ok (!scalar keys %x);
25 root 1.1 } else {
26     ok (0,1,"$!");
27     }
28     };
29    
30     IO::AIO::poll;
31    
32 root 1.2 %x = %f;
33    
34     aio_scandir ".", 0, sub {
35     delete $x{"."};
36     delete $x{".."};
37     if (@_) {
38     ok (1);
39     my $ok = 1;
40     $ok &&= delete $x{$_} for (@{$_[0]}, @{$_[1]});
41     ok ($ok);
42 root 1.3 ok (!keys %x);
43 root 1.2 } else {
44     ok (0,1,"$!");
45     }
46     };
47    
48     IO::AIO::poll while IO::AIO::nreqs;
49    
50 root 1.3 my $entries1;
51    
52     aio_readdirx ".", IO::AIO::READDIR_STAT_ORDER, sub {
53     $entries1 = shift;
54     ok (! ! $entries1);
55     };
56    
57     IO::AIO::poll while IO::AIO::nreqs;
58    
59     aio_readdirx ".", IO::AIO::READDIR_STAT_ORDER | IO::AIO::READDIR_DENTS, sub {
60     my $entries2 = shift;
61     ok (! ! $entries2);
62    
63 root 1.4 if ($^O eq "cygwin") {
64     # sigh...
65     $entries1 = [ sort @$entries1 ];
66     $entries2 = [ sort { $a->[0] cmp $b->[0] } @$entries2 ];
67     }
68    
69 root 1.3 ok ((join "\x00", @$entries1) eq (join "\x00", map $_->[0], @$entries2));
70    
71     ok (!grep $entries2->[$_ - 1][2] > $entries2->[$_][2], 1 .. $#$entries2);
72     };
73    
74     IO::AIO::poll while IO::AIO::nreqs;
75    
76 root 1.2 ok (1);
77 root 1.1