$prog = shift @files ;
}
open TEST, ">$tmpfile";
+ print TEST q{
+ BEGIN {
+ open(STDERR, ">&STDOUT")
+ or die "Can't dup STDOUT->STDERR: $!;";
+ }
+ };
+ print TEST "\n#line 1\n"; # So the line numbers don't get messed up.
print TEST $prog,"\n";
close TEST;
my $results = $Is_VMS ?
- `./perl "-I../lib" $switch $tmpfile 2>&1` :
+ `./perl "-I../lib" $switch $tmpfile` :
$Is_MSWin32 ?
- `.\\perl -I../lib $switch $tmpfile 2>&1` :
+ `.\\perl -I../lib $switch $tmpfile` :
$Is_NetWare ?
- `perl -I../lib $switch $tmpfile 2>&1` :
- `./perl -I../lib $switch $tmpfile 2>&1`;
+ `perl -I../lib $switch $tmpfile` :
+ $Is_MacOS ?
+ `$^X -I::lib $switch -MMac::err=unix $tmpfile` :
+ `./perl -I../lib $switch $tmpfile`;
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
+ if ($^O eq 'VMS') {
+ # some tests will trigger VMS messages that won't be expected
+ $results =~ s/\n?%[A-Z]+-[SIWEF]-[A-Z]+,.*//;
+
+ # pipes double these sometimes
+ $results =~ s/\n\n/\n/g;
+ }
# bison says 'parse error' instead of 'syntax error',
# various yaccs may or may not capitalize 'syntax'.
$results =~ s/^(syntax|parse) error/syntax error/mig;