This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
In lib/File/stat.t, permute the test file's mode for more thorough testing.
authorNicholas Clark <nick@ccl4.org>
Wed, 13 Jun 2012 15:50:14 +0000 (17:50 +0200)
committerNicholas Clark <nick@ccl4.org>
Thu, 21 Jun 2012 07:00:36 +0000 (09:00 +0200)
For each mode bit set, and all bits clear, test each filetest operator with
and without a File::stat object. Previously the only test was for the mode
the file was created with.

lib/File/stat.t

index 938e3e3..bae8aa9 100644 (file)
@@ -97,6 +97,17 @@ sub test_X_ops {
 
 test_X_ops($file, "for $file");
 
+{
+    my $mode = 01000;
+    while ($mode) {
+        $mode >>= 1;
+        my $mode_oct = sprintf "0%03o", $mode;
+        chmod $mode, $file or die "Can't chmod $mode_oct $file: $!";
+        test_X_ops($file, "for file with mode=$mode_oct");
+    }
+    chmod 0600, $file or die "Can't restore permissions on $file to 0600";
+}
+
 SKIP: {
     -e $^X && -x $^X or skip "$^X is not present and executable", 4;
     $^O eq "VMS" and skip "File::stat ignores VMS ACLs", 4;