This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In t/op/filetest.t, use one temporary file for testing instead of two.
authorNicholas Clark <nick@ccl4.org>
Thu, 24 May 2012 09:40:41 +0000 (11:40 +0200)
committerNicholas Clark <nick@ccl4.org>
Thu, 31 May 2012 16:09:45 +0000 (18:09 +0200)
The readonly file tests aren't worried about the file's length, and the
zero-length file tests aren't concerned about whether it's writable, so it's
possible to use the same file in both tests.

t/op/filetest.t

index a3df1c0..5a76763 100644 (file)
@@ -17,15 +17,15 @@ ok( !-f 'op' );
 ok( !-d 'TEST' );
 ok( -r 'TEST' );
 
-# Make a read only file
-my $ro_file = tempfile();
+# Make a read only file. This happens to be empty, so we also use it later.
+my $ro_empty_file = tempfile();
 
 {
-    open my $fh, '>', $ro_file or die "open $fh: $!";
+    open my $fh, '>', $ro_empty_file or die "open $fh: $!";
     close $fh or die "close $fh: $!";
 }
 
-chmod 0555, $ro_file or die "chmod 0555, '$ro_file' failed: $!";
+chmod 0555, $ro_empty_file or die "chmod 0555, '$ro_empty_file' failed: $!";
 
 SKIP: {
     my $restore_root;
@@ -39,7 +39,7 @@ SKIP: {
        ++$restore_root;
     }
 
-    ok( !-w $ro_file );
+    ok( !-w $ro_empty_file );
 
     if ($restore_root) {
        # If the previous assignment to $> worked, so should this:
@@ -72,14 +72,10 @@ ok( (-s -f 'TEST' > 1), "-s returns real size" );
 ok( -f -s 'TEST' == 1 );
 
 # now with an empty file
-my $tempfile = tempfile();
-open my $fh, ">", $tempfile;
-close $fh;
-ok( -f $tempfile );
-is( -s $tempfile, 0 );
-is( -f -s $tempfile, 0 );
-is( -s -f $tempfile, 0 );
-unlink_all $tempfile;
+ok( -f $ro_empty_file );
+is( -s $ro_empty_file, 0 );
+is( -f -s $ro_empty_file, 0 );
+is( -s -f $ro_empty_file, 0 );
 
 # stacked -l
 eval { -l -e "TEST" };