# $Id$ use strict; unless( -d 'test_files' ) { mkdir 'test_files', 0700 or print "bail out! Could not make directory! $!"; } chdir 'test_files' or print "bail out! Could not change directory! $!"; my @files = qw( max_file non_zero_file not_readable readable zero_file executable min_file not_executable not_writeable writeable ); foreach my $file ( @files ) { open FH, "> $file"; close FH; } { my $count = chmod 0644, @files; is( $count, scalar @files ) or print 'bail out! Could not make files readable'; } { my $count = chmod 0400, 'readable', 'not_writeable', 'not_executable'; is( $count, 3 ) or print 'bail out! Could not make files readable'; } { my $count = chmod 0200, 'writeable', 'not_readable', 'zero_file', 'max_file', 'non_zero_file'; is( $count, 5 ) or print 'bail out! Could not make files writeable'; } { my $count = chmod 0100, 'executable'; is( $count, 1 ) or print 'bail out! Could not make files executable'; } truncate 'zero_file', 0; truncate 'max_file', 10; truncate 'min_file', 0; { open FH, '> min_file' or print "bail out! Could not write to min_file: $!"; binmode FH; #, Windows, yo! print FH 'x' x 40, $/, 'x' x 11, $/; close FH; } is( -s 'min_file', 51 + 2 * length( $/ ) ); chdir '..' or print "bail out! Could not change back to original directory: $!"; pass();