# various command lines for
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::rmsexpand($s2p, '.com');
+ $psed = VMS::Filespec::rmsexpand($psed, '.com');
+}
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 );
close( IN ) || goto FAIL_BOTH;
}
+ # on VMS, runperl eats blank lines to work around
+ # spurious newlines in pipes
+ $testcase{$tc}{expect} =~ s/\n\n/\n/ if $^O eq 'VMS';
+
# 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;