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 |
|