This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[patch] blead@25282 - VMS specific fixes. [2nd try]
[perl5.git] / t / x2p / s2p.t
index 50d2483..85df364 100755 (executable)
@@ -791,6 +791,8 @@ my $s2p  = File::Spec->catfile( File::Spec->updir(), 'x2p', 's2p' );
 my $psed = File::Spec->catfile( File::Spec->curdir(), 'psed' );
 if ($^O eq 'VMS') {
   # default in the .com extenson if it's not already there
+  $s2p = VMS::Filespec::vmsify($s2p);
+  $psed = VMS::Filespec::vmsify($psed);
   $s2p = VMS::Filespec::rmsexpand($s2p, '.com');
   $psed = VMS::Filespec::rmsexpand($psed, '.com');
 }
@@ -798,6 +800,9 @@ my $sedcmd = [ $psed, '-f', $script, $stdin ];
 my $s2pcmd = [ $s2p,  '-f', $script ];
 my $plcmd  = [ $plsed, $stdin ];
 
+my $switches = '';
+$switches = ['-x'] if $^O eq 'MacOS';
+
 # psed: we create a local copy as linking may not work on some systems.
 copy( $s2p, $psed );
 push( @aux, $psed );
@@ -841,19 +846,19 @@ for my $tc ( sort keys %testcase ){
 
     # run and compare
     #
-    $psedres = runperl( args => $sedcmd );
+    $psedres = runperl( args => $sedcmd, switches => $switches );
     is( $psedres, $testcase{$tc}{expect}, "psed $tc" );
 
     # 2nd test: run s2p
     # translate the sed script to a Perl program
-    
-    my $perlprog = runperl( args => $s2pcmd );
+
+    my $perlprog = runperl( args => $s2pcmd, switches => $switches );
     open( PP, ">$plsed" ) || goto FAIL_S2P;
     print PP $perlprog;
     close( PP ) || goto FAIL_S2P;
 
     # execute generated Perl program, compare
-    $s2pres = runperl( args => $plcmd );
+    $s2pres = runperl( args => $plcmd, switches => $switches );
     is( $s2pres, $testcase{$tc}{expect}, "s2p $tc" );
     next;