--- t/fs.t 2007/07/09 10:35:02 12 +++ t/fs.t 2007/07/09 11:12:48 13 @@ -4,7 +4,7 @@ my $debug = shift @ARGV; -use Test::More tests => 227; +use Test::More tests => 250; use File::Slurp; use IO::File; @@ -21,7 +21,7 @@ ok( open(my $d, '<', "$to/.debug"), 'open debug' ); local $/; my $dump = <$d>; - diag "DEBUG: $msg\n$dump\n"; + diag "DEBUG: $msg\n$dump\n" if $debug; ok( close($d), 'close debug' ); } @@ -97,15 +97,29 @@ } -diag "multiple read-write"; -ok( my $fh1 = IO::File->new("> $to/m"), 'open 1' ); -$fh1->autoflush; -ok( print($fh1 "1.1\n"), 'print 1.1' ); -ok( my $fh2 = IO::File->new(">> $to/m"), 'open 2' ); -$fh2->autoflush; -ok( print($fh2 "2.1\n"), 'print 2.1' ); -cmp_ok( read_file("$to/m"), 'eq', "1.1\n2.1\n", 'mixed' ); -ok( print($fh1 "1.2\n"), 'print 1.2' ); -cmp_ok( read_file("$to/m"), 'eq', "1.1\n1.2\n", 'just 1' ); +sub multiple_rw { + + diag "multiple read-write"; + ok( my $fh1 = IO::File->new("> $to/m"), 'open 1' ); + $fh1->autoflush; + ok( print($fh1 "1.1\n"), 'print 1.1' ); + ok( my $fh2 = IO::File->new(">> $to/m"), 'open 2' ); + $fh2->autoflush; + ok( print($fh2 "2.1\n"), 'print 2.1' ); + cmp_ok( read_file("$to/m"), 'eq', "1.1\n2.1\n", 'mixed' ); + ok( print($fh1 "1.2\n"), 'print 1.2' ); + cmp_ok( read_file("$to/m"), 'eq', "1.1\n1.2\n", 'just 1' ); + dump_debug 'own twice'; + ok( print($fh1 "x" x 65535), 'print 1 64k' ); + ok( close($fh1), 'close 1' ); + dump_debug 'own once'; + ok( close($fh2), 'close 2' ); + dump_debug 'closed'; + +} + +multiple_rw; +multiple_rw; +