… | |
… | |
3 | use Test; |
3 | use Test; |
4 | use IO::AIO; |
4 | use IO::AIO; |
5 | |
5 | |
6 | # this is a lame test, but.... |
6 | # this is a lame test, but.... |
7 | |
7 | |
8 | BEGIN { plan tests => 5 } |
8 | BEGIN { plan tests => 12 } |
9 | |
9 | |
10 | my %f; |
10 | my %f; |
11 | ok ((opendir my $dir, "."), 1, "$!"); |
11 | ok ((opendir my $dir, "."), 1, "$!"); |
12 | $f{$_}++ for readdir $dir; |
12 | $f{$_}++ for readdir $dir; |
13 | |
13 | |
|
|
14 | my %x = %f; |
|
|
15 | |
14 | aio_readdir ".", sub { |
16 | aio_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 | |
28 | IO::AIO::poll; |
30 | IO::AIO::poll; |
29 | |
31 | |
30 | print "ok 5\n"; |
32 | %x = %f; |
31 | |
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 | ok (!keys %x); |
|
|
43 | } else { |
|
|
44 | ok (0,1,"$!"); |
|
|
45 | } |
|
|
46 | }; |
|
|
47 | |
|
|
48 | IO::AIO::poll while IO::AIO::nreqs; |
|
|
49 | |
|
|
50 | 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 | ok (1); |
|
|
71 | |