| Revision: | 1.4 |
| Committed: | Wed Oct 25 08:17:22 2006 UTC (19 years, 11 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 *** |
| # | User | Rev | Content |
|---|---|---|---|
| 1 | root | 1.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 | root | 1.3 | BEGIN { plan tests => 13 } |
| 11 | root | 1.1 | |
| 12 | IO::AIO::min_parallel 2; | ||
| 13 | |||
| 14 | my $tempdir = tempdir(); | ||
| 15 | |||
| 16 | root | 1.3 | my $some_dir = "$tempdir/some_dir"; |
| 17 | root | 1.1 | my $some_file = "$some_dir/some_file"; |
| 18 | root | 1.3 | my $some_link = "$some_dir/some_link"; |
| 19 | root | 1.1 | |
| 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 | root | 1.3 | ok(-e $some_file); |
| 33 | root | 1.1 | close $fh; |
| 34 | }; | ||
| 35 | pcb; | ||
| 36 | |||
| 37 | root | 1.3 | # test error on unlinking nonexistent file |
| 38 | root | 1.1 | 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 | root | 1.2 | pcb; |
| 52 | root | 1.1 | |
| 53 | root | 1.3 | 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 | root | 1.4 | # test unlinking and rmdir |
| 63 | root | 1.3 | aio_unlink $some_file, sub { |
| 64 | ok (!shift); | ||
| 65 | }; | ||
| 66 | root | 1.4 | pcb; |
| 67 | root | 1.3 | aio_rmdir $some_dir, sub { |
| 68 | ok (!shift); | ||
| 69 | }; | ||
| 70 | pcb; | ||
| 71 | |||
| 72 | |||
| 73 |