Revision: | 1.4 |
Committed: | Wed Oct 25 08:17:22 2006 UTC (17 years, 8 months ago) by root |
Content type: | application/x-troff |
Branch: | MAIN |
CVS Tags: | rel-2_32, rel-2_33, rel-2_31, rel-2_6, rel-2_4, rel-2_5, rel-2_2, rel-2_3, rel-2_0, rel-2_1, rel-2_21, rel-3_1, rel-3_0, rel-2_51, rel-3_01, rel-3_02, rel-3_03, rel-3_04, rel-3_05, rel-3_06, rel-3_07, rel-2_41, rel-3_17, rel-3_16, rel-3_15, rel-2_61, rel-2_62 |
Changes since 1.3: | +2 -1 lines |
Log Message: | *** empty log message *** |
# | Content |
---|---|
1 | #!/usr/bin/perl |
2 | |
3 | use Fcntl; |
4 | use Test; |
5 | use POSIX qw(ENOENT EACCES EBADF); |
6 | use FindBin; |
7 | use lib "$FindBin::Bin"; |
8 | use aio_test_common; |
9 | |
10 | BEGIN { plan tests => 13 } |
11 | |
12 | IO::AIO::min_parallel 2; |
13 | |
14 | my $tempdir = tempdir(); |
15 | |
16 | my $some_dir = "$tempdir/some_dir"; |
17 | my $some_file = "$some_dir/some_file"; |
18 | my $some_link = "$some_dir/some_link"; |
19 | |
20 | # create a file in a non-existent directory |
21 | aio_open $some_file, O_RDWR|O_CREAT|O_TRUNC, 0, sub { |
22 | ok((!defined $_[0]) && $! == ENOENT); |
23 | }; |
24 | pcb; |
25 | |
26 | # now actually make that file |
27 | ok(mkdir $some_dir); |
28 | aio_open $some_file, O_RDWR|O_CREAT|O_TRUNC, 0644, sub { |
29 | my $fh = shift; |
30 | ok(defined $fh); |
31 | print $fh "contents."; |
32 | ok(-e $some_file); |
33 | close $fh; |
34 | }; |
35 | pcb; |
36 | |
37 | # test error on unlinking nonexistent file |
38 | aio_unlink "$some_dir/notfound.txt", sub { |
39 | ok($_[0] < 0); |
40 | ok($! == ENOENT); |
41 | }; |
42 | pcb; |
43 | |
44 | # write to file open for reading |
45 | ok(open(F, $some_file)) or die $!; |
46 | aio_write *F, 0, 10, "foobarbaz.", 0, sub { |
47 | my $written = shift; |
48 | ok($written < 0); |
49 | ok($! == EBADF); |
50 | }; |
51 | pcb; |
52 | |
53 | close F; |
54 | |
55 | aio_symlink "\\test\\", $some_link, sub { |
56 | ok (!$_[0]); |
57 | ok ("\\test\\" eq readlink $some_link); |
58 | }; |
59 | pcb; |
60 | unlink $some_link; |
61 | |
62 | # test unlinking and rmdir |
63 | aio_unlink $some_file, sub { |
64 | ok (!shift); |
65 | }; |
66 | pcb; |
67 | aio_rmdir $some_dir, sub { |
68 | ok (!shift); |
69 | }; |
70 | pcb; |
71 | |
72 | |
73 |