expect a different error for `perl dir` on Win32
authorRicardo Signes <rjbs@cpan.org>
Sat, 12 Jan 2013 12:12:34 +0000 (07:12 -0500)
committerRicardo Signes <rjbs@cpan.org>
Sun, 13 Jan 2013 00:39:27 +0000 (19:39 -0500)
We've known that this is how Win32 behaves, as it was documented in
the ticket for which this is a fix.  I don't think it's worth the
bother of ensuring we get EISDIR, as long as we don't just exit
silently!

t/run/switches.t

index 07e96da..43d01ca 100644 (file)
@@ -110,9 +110,13 @@ SWTEST
 {
     my $tempdir = tempfile;
     mkdir $tempdir, 0700 or die "Can't mkdir '$tempdir': $!";
+
+    # Win32 won't let us open the directory, so we never get to die with
+    # EISDIR, which happens after open.
+    my $error = $^O eq 'MSWin32' ? 'Permission denied' : 'Is a directory';
     like(
         runperl( switches => [ '-c' ], args  => [ $tempdir ], stderr => 1),
-        qr/Can't open perl script.*$tempdir.*Is a directory/s,
+        qr/Can't open perl script.*$tempdir.*$error/s,
         "RT \#61362: Cannot syntax-check a directory"
     );
     rmdir $tempdir or die "Can't rmdir '$tempdir': $!";