Revision: | 1.7 |
Committed: | Sun Jul 17 04:20:04 2011 UTC (12 years, 11 months ago) by root |
Content type: | application/x-troff |
Branch: | MAIN |
CVS Tags: | rel-4_81, rel-4_80, rel-4_17, rel-4_14, rel-4_15, rel-4_12, rel-4_11, rel-4_18, rel-4_19, rel-4_4, rel-4_5, rel-4_6, rel-4_7, rel-4_0, rel-4_1, rel-4_2, rel-4_3, rel-4_78, rel-4_79, rel-4_74, rel-4_75, rel-4_76, rel-4_77, rel-4_71, rel-4_72, rel-4_73, rel-4_52, rel-4_53, rel-4_51, rel-4_54, rel-4_34, rel-4_31, rel-4_32, rel-4_33, HEAD |
Changes since 1.6: | +1 -1 lines |
Log Message: | initial windows support |
# | 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.5 | BEGIN { plan tests => 12 } |
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 | root | 1.5 | eval { aio_write *F, 0, 10, "foobarbaz.", 0, sub { ok (0) } }; |
47 | ok ($@ =~ /mode mismatch/); | ||
48 | root | 1.2 | pcb; |
49 | root | 1.1 | |
50 | root | 1.3 | close F; |
51 | |||
52 | aio_symlink "\\test\\", $some_link, sub { | ||
53 | root | 1.7 | if ($^O eq "cygwin" or $^O eq "MSWin32") { |
54 | root | 1.6 | ok (1); |
55 | ok (1); | ||
56 | } else { | ||
57 | ok (!$_[0]); | ||
58 | ok ("\\test\\" eq readlink $some_link); | ||
59 | } | ||
60 | root | 1.3 | }; |
61 | pcb; | ||
62 | unlink $some_link; | ||
63 | |||
64 | root | 1.4 | # test unlinking and rmdir |
65 | root | 1.3 | aio_unlink $some_file, sub { |
66 | ok (!shift); | ||
67 | }; | ||
68 | root | 1.4 | pcb; |
69 | root | 1.3 | aio_rmdir $some_dir, sub { |
70 | ok (!shift); | ||
71 | }; | ||
72 | pcb; | ||
73 | |||
74 | |||
75 |