1 ##!/usr/local/bin/perl -w
7 use File::Slurp qw( :all ) ;
9 my $file_name = 'test_file' ;
10 my $dir_name = 'test_dir' ;
15 name => 'read_file open error',
17 args => [ $file_name ],
25 name => 'write_file open error',
27 args => [ "$dir_name/$file_name", '' ],
30 chmod( 0555, $dir_name ) ;
35 chmod( 0777, $dir_name ) ;
44 name => 'write_file syswrite error',
46 args => [ $file_name, '' ],
47 override => 'syswrite',
50 unlink( $file_name ) ;
59 name => 'read_file small sysread error',
61 args => [ $file_name ],
62 override => 'sysread',
65 write_file( $file_name, '' ) ;
69 unlink( $file_name ) ;
77 name => 'read_file loop sysread error',
79 args => [ $file_name ],
80 override => 'sysread',
83 write_file( $file_name, 'x' x 100_000 ) ;
87 unlink( $file_name ) ;
95 name => 'atomic rename error',
97 args => [ "$dir_name/$file_name", { atomic => 1 }, '' ],
100 write_file( "$dir_name/$file_name.$$", '' ) ;
101 chmod( 0555, $dir_name ) ;
106 chmod( 0777, $dir_name ) ;
107 unlink( "$dir_name/$file_name.$$" ) ;
116 name => 'read_dir opendir error',
118 args => [ $dir_name ],
125 test_driver( $tests ) ;