ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/IO-AIO/t/03_errors.t
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

File Contents

# 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 => 12 }
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 eval { aio_write *F, 0, 10, "foobarbaz.", 0, sub { ok (0) } };
47 ok ($@ =~ /mode mismatch/);
48 pcb;
49
50 close F;
51
52 aio_symlink "\\test\\", $some_link, sub {
53 if ($^O eq "cygwin" or $^O eq "MSWin32") {
54 ok (1);
55 ok (1);
56 } else {
57 ok (!$_[0]);
58 ok ("\\test\\" eq readlink $some_link);
59 }
60 };
61 pcb;
62 unlink $some_link;
63
64 # test unlinking and rmdir
65 aio_unlink $some_file, sub {
66 ok (!shift);
67 };
68 pcb;
69 aio_rmdir $some_dir, sub {
70 ok (!shift);
71 };
72 pcb;
73
74
75