ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/t/05_readdir.t
(Generate patch)

Comparing IO-AIO/t/05_readdir.t (file contents):
Revision 1.1 by root, Sun Aug 28 10:21:27 2005 UTC vs.
Revision 1.3 by root, Sun Jun 7 18:31:18 2009 UTC

3use Test; 3use Test;
4use IO::AIO; 4use IO::AIO;
5 5
6# this is a lame test, but.... 6# this is a lame test, but....
7 7
8BEGIN { plan tests => 5 } 8BEGIN { plan tests => 12 }
9 9
10my %f; 10my %f;
11ok ((opendir my $dir, "."), 1, "$!"); 11ok ((opendir my $dir, "."), 1, "$!");
12$f{$_}++ for readdir $dir; 12$f{$_}++ for readdir $dir;
13 13
14my %x = %f;
15
14aio_readdir ".", sub { 16aio_readdir ".", sub {
15 delete $f{"."}; 17 delete $x{"."};
16 delete $f{".."}; 18 delete $x{".."};
17 if ($_[0]) { 19 if ($_[0]) {
18 ok (1); 20 ok (1);
19 my $ok = 1; 21 my $ok = 1;
20 $ok &&= delete $f{$_} for @{$_[0]}; 22 $ok &&= delete $x{$_} for @{$_[0]};
21 ok ($ok); 23 ok ($ok);
22 ok (!scalar keys %f); 24 ok (!scalar keys %x);
23 } else { 25 } else {
24 ok (0,1,"$!"); 26 ok (0,1,"$!");
25 } 27 }
26}; 28};
27 29
28IO::AIO::poll; 30IO::AIO::poll;
29 31
30print "ok 5\n"; 32%x = %f;
31 33
34aio_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 ok (!keys %x);
43 } else {
44 ok (0,1,"$!");
45 }
46};
47
48IO::AIO::poll while IO::AIO::nreqs;
49
50my $entries1;
51
52aio_readdirx ".", IO::AIO::READDIR_STAT_ORDER, sub {
53 $entries1 = shift;
54 ok (! ! $entries1);
55};
56
57IO::AIO::poll while IO::AIO::nreqs;
58
59aio_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
68IO::AIO::poll while IO::AIO::nreqs;
69
70ok (1);
71

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines