Integrate #16254 from macperl;
[p5sagit/p5-mst-13.2.git] / t / io / dup.t
index 6555d07..6e7d121 100755 (executable)
@@ -22,12 +22,13 @@ print STDOUT "ok 2\n";
 print STDERR "ok 3\n";
 
 # Since some systems don't have echo, we use Perl.
-$echo = qq{$^X -le "print q{ok %d}"};
+$echo = qq{$^X -le "print q(ok %d)"};
 
-$cmd = sprintf $echo, 4;            
+$cmd = sprintf $echo, 4;
 print `$cmd`;
 
-$cmd = sprintf "$echo 1>&2", 5;     
+$cmd = sprintf "$echo 1>&2", 5;
+$cmd = sprintf $echo, 5 if $^O eq 'MacOS';  # don't know if we can do this ...
 print `$cmd`;
 
 # KNOWN BUG system() does not honor STDOUT redirections on VMS.
@@ -37,7 +38,12 @@ if( $^O eq 'VMS' ) {
 }
 else {
     system sprintf $echo, 6;
-    system sprintf "$echo 1>&2", 7;
+    if ($^O eq 'MacOS') {
+        system sprintf $echo, 7;
+    }
+    else {
+        system sprintf "$echo 1>&2", 7;
+    }
 }
 
 close(STDOUT) or die "Could not close: $!";
@@ -47,7 +53,8 @@ open(STDOUT,">&DUPOUT") or die "Could not open: $!";
 open(STDERR,">&DUPERR") or die "Could not open: $!";
 
 if (($^O eq 'MSWin32') || ($^O eq 'NetWare') || ($^O eq 'VMS')) { print `type Io.dup` }
-else                  { system 'cat Io.dup' }
+elsif ($^O eq 'MacOS') { system 'catenate Io.dup' }
+else                   { system 'cat Io.dup' }
 unlink 'Io.dup';
 
 print STDOUT "ok 8\n";