[MacPerl-Porters] [PATCH] Mac OS Compatability for bleadperl
[p5sagit/p5-mst-13.2.git] / t / pragma / strict.t
index 1f55986..bbfb8ab 100755 (executable)
@@ -2,7 +2,7 @@
 
 BEGIN {
     chdir 't' if -d 't';
-    unshift @INC, '../lib';
+    @INC = '../lib';
     $ENV{PERL5LIB} = '../lib';
 }
 
@@ -17,9 +17,9 @@ END { if ($tmpfile) { 1 while unlink $tmpfile; } }
 
 my @prgs = () ;
 
-foreach (sort glob("pragma/strict-*")) {
+foreach (sort glob($^O eq 'MacOS' ? ":pragma:strict-*" : "pragma/strict-*")) {
 
-    next if /(~|\.orig)$/;
+    next if /(~|\.orig|,v)$/;
 
     open F, "<$_" or die "Cannot open $_: $!\n" ;
     while (<F>) {
@@ -54,6 +54,7 @@ for (@prgs){
        while (@files > 2) {
            my $filename = shift @files ;
            my $code = shift @files ;
+           $code =~ s|\./abc|:abc|g if $^O eq 'MacOS';
            push @temps, $filename ;
            open F, ">$filename" or die "Cannot open $filename: $!\n" ;
            print F $code ;
@@ -61,21 +62,24 @@ for (@prgs){
        }
        shift @files ;
        $prog = shift @files ;
+       $prog =~ s|\./abc|:abc|g if $^O eq 'MacOS';
     }
     open TEST, ">$tmpfile";
     print TEST $prog,"\n";
     close TEST;
-    my $results = $Is_VMS ?
-                  `MCR $^X $switch $tmpfile` :
-                 $Is_MSWin32 ?
+    my $results = $Is_MSWin32 ?
                   `.\\perl -I../lib $switch $tmpfile 2>&1` :
-                  `sh -c './perl $switch $tmpfile' 2>&1`;
+                  $^O eq 'MacOS' ?
+                  `$^X -I::lib $switch $tmpfile` :
+                  `./perl $switch $tmpfile 2>&1`;
     my $status = $?;
     $results =~ s/\n+$//;
     # allow expected output to be written as if $prog is on STDIN
     $results =~ s/tmp\d+/-/g;
     $results =~ s/\n%[A-Z]+-[SIWEF]-.*$// if $Is_VMS;  # clip off DCL status msg
     $expected =~ s/\n+$//;
+    $expected =~ s|(\./)?abc\.pm|:abc.pm|g if $^O eq 'MacOS';
+    $expected =~ s|./abc|:abc|g if $^O eq 'MacOS';
     my $prefix = ($results =~ s/^PREFIX\n//) ;
     if ( $results =~ s/^SKIPPED\n//) {
        print "$results\n" ;