ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/IO-AIO/t/05_readdir.t
Revision: 1.3
Committed: Sun Jun 7 18:31:18 2009 UTC (17 years, 4 months ago) by root
Content type: application/x-troff
Branch: MAIN
CVS Tags: rel-3_31, rel-3_5, rel-3_4, rel-3_3, rel-3_2, rel-3_261, rel-3_26, rel-3_25, rel-3_22, rel-3_23, rel-3_21
Changes since 1.2: +22 -2 lines
Log Message:
3.2

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     ok ((join "\x00", @$entries1) eq (join "\x00", map $_->[0], @$entries2));
64    
65     ok (!grep $entries2->[$_ - 1][2] > $entries2->[$_][2], 1 .. $#$entries2);
66     };
67    
68     IO::AIO::poll while IO::AIO::nreqs;
69    
70 root 1.2 ok (1);
71 root 1.1