further refinement to EISDIR tests from `perl dir`
authorRicardo Signes <rjbs@cpan.org>
Wed, 16 Jan 2013 23:40:44 +0000 (18:40 -0500)
committerRicardo Signes <rjbs@cpan.org>
Fri, 18 Jan 2013 13:04:24 +0000 (08:04 -0500)
1. actually use the EISDIR string, rather than getting it and
   not using it; this was a refactoring screw-up

2. don't hardcode the Win32 EACCES error, either, use the same
   "$!" mechanism

t/run/switches.t

index ea94571..1324f5a 100644 (file)
@@ -14,7 +14,7 @@ BEGIN { require "./test.pl"; }
 plan(tests => 115);
 
 use Config;
-use Errno qw(EISDIR);
+use Errno qw(EACCES EISDIR);
 
 # due to a bug in VMS's piping which makes it impossible for runperl()
 # to emulate echo -n (ie. stdin always winds up with a newline), these 
@@ -117,8 +117,7 @@ SWTEST
 
     # Win32 won't let us open the directory, so we never get to die with
     # EISDIR, which happens after open.
-    my $eisdir = do { local $! = EISDIR; "$!" };
-    my $error = $^O eq 'MSWin32' ? 'Permission denied' : 'Is a directory';
+    my $error  = do { local $! = $^O eq 'MSWin32' ? EACCES : EISDIR; "$!" };
     like(
         runperl( switches => [ '-c' ], args  => [ $tempdir ], stderr => 1),
         qr/Can't open perl script.*$tempdir.*\Q$error/s,