ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/t/05_readdir.t
Revision: 1.5
Committed: Sun Aug 12 06:03:21 2018 UTC (5 years, 9 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-4_81, rel-4_80, rel-4_6, rel-4_7, rel-4_78, rel-4_79, rel-4_74, rel-4_75, rel-4_76, rel-4_77, rel-4_71, rel-4_72, rel-4_73, rel-4_52, rel-4_53, rel-4_51, rel-4_54, HEAD
Changes since 1.4: +2 -2 lines
Log Message:
*** empty log message ***

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.5 ok (!grep $entries2->[$_ - 1][2] > $entries2->[$_][2], 1 .. $#$entries2);
64    
65 root 1.4 if ($^O eq "cygwin") {
66     # sigh...
67     $entries1 = [ sort @$entries1 ];
68     $entries2 = [ sort { $a->[0] cmp $b->[0] } @$entries2 ];
69     }
70    
71 root 1.3 ok ((join "\x00", @$entries1) eq (join "\x00", map $_->[0], @$entries2));
72     };
73    
74     IO::AIO::poll while IO::AIO::nreqs;
75    
76 root 1.2 ok (1);
77 root 1.1