deleted
[urisagit/Perl-Docs.git] / t / error.t
CommitLineData
635c7876 1##!/usr/local/bin/perl -w
2
3f23e2e2 3use lib qw(t) ;
3f23e2e2 4use strict ;
8ed110f9 5use driver ;
635c7876 6
8ed110f9 7use File::Slurp qw( :all ) ;
635c7876 8
3f23e2e2 9my $file_name = 'test_file' ;
10my $dir_name = 'test_dir' ;
635c7876 11
3f23e2e2 12my $tests = [
635c7876 13
3f23e2e2 14 {
15 name => 'read_file open error',
16 sub => \&read_file,
17 args => [ $file_name ],
635c7876 18
3f23e2e2 19 error => qr/open/,
8ed110f9 20
21 skip => 1,
3f23e2e2 22 },
635c7876 23
3f23e2e2 24 {
25 name => 'write_file open error',
26 sub => \&write_file,
27 args => [ "$dir_name/$file_name", '' ],
28 pretest => sub {
29 mkdir $dir_name ;
30 chmod( 0555, $dir_name ) ;
31 },
635c7876 32
3f23e2e2 33 posttest => sub {
635c7876 34
3f23e2e2 35 chmod( 0777, $dir_name ) ;
36 rmdir $dir_name ;
37 },
635c7876 38
3f23e2e2 39 error => qr/open/,
8ed110f9 40 skip => 1,
41 },
42
43 {
44 name => 'write_file syswrite error',
45 sub => \&write_file,
46 args => [ $file_name, '' ],
47 override => 'syswrite',
48
49 posttest => sub {
50 unlink( $file_name ) ;
51 },
52
53
54 error => qr/write/,
55 skip => 1,
56 },
57
58 {
59 name => 'read_file small sysread error',
60 sub => \&read_file,
61 args => [ $file_name ],
62 override => 'sysread',
63
64 pretest => sub {
65 write_file( $file_name, '' ) ;
66 },
67
68 posttest => sub {
69 unlink( $file_name ) ;
70 },
71
72
73 error => qr/read/,
74 },
75
76 {
77 name => 'read_file loop sysread error',
78 sub => \&read_file,
79 args => [ $file_name ],
80 override => 'sysread',
81
82 pretest => sub {
83 write_file( $file_name, 'x' x 100_000 ) ;
84 },
85
86 posttest => sub {
87 unlink( $file_name ) ;
88 },
89
90
91 error => qr/read/,
3f23e2e2 92 },
635c7876 93
3f23e2e2 94 {
95 name => 'atomic rename error',
96 sub => \&write_file,
97 args => [ "$dir_name/$file_name", { atomic => 1 }, '' ],
98 pretest => sub {
99 mkdir $dir_name ;
100 write_file( "$dir_name/$file_name.$$", '' ) ;
101 chmod( 0555, $dir_name ) ;
102 },
635c7876 103
3f23e2e2 104 posttest => sub {
635c7876 105
3f23e2e2 106 chmod( 0777, $dir_name ) ;
107 unlink( "$dir_name/$file_name.$$" ) ;
108 rmdir $dir_name ;
109 },
635c7876 110
3f23e2e2 111 error => qr/rename/,
8ed110f9 112 skip => 1,
3f23e2e2 113 },
635c7876 114
3f23e2e2 115 {
8ed110f9 116 name => 'read_dir opendir error',
3f23e2e2 117 sub => \&read_dir,
118 args => [ $dir_name ],
635c7876 119
3f23e2e2 120 error => qr/open/,
8ed110f9 121 skip => 1,
3f23e2e2 122 },
3f23e2e2 123] ;
635c7876 124
8ed110f9 125test_driver( $tests ) ;
635c7876 126
3f23e2e2 127exit ;
635c7876 128