tests: fix the shutting up of the shell
If we're going to redirect STDERR and STDOUT, it's better to do it by the book. This fix is a straight copy of examples in the perlfunc manual. Reviewed-by: Matt Caswell <matt@openssl.org>
This commit is contained in:
parent
ec772a817a
commit
81b538e51e
1 changed files with 6 additions and 4 deletions
|
@ -356,9 +356,11 @@ sub run {
|
|||
# In non-verbose, we want to shut up the command interpreter, in case
|
||||
# it has something to complain about. On VMS, it might complain both
|
||||
# on stdout and stderr
|
||||
*save_STDOUT = *STDOUT;
|
||||
*save_STDERR = *STDERR;
|
||||
my $save_STDOUT;
|
||||
my $save_STDERR;
|
||||
if ($ENV{HARNESS_ACTIVE} && !$ENV{HARNESS_VERBOSE}) {
|
||||
open $save_STDOUT, '>&', \*STDOUT or die "Can't dup STDOUT: $!";
|
||||
open $save_STDERR, '>&', \*STDERR or die "Can't dup STDERR: $!";
|
||||
open STDOUT, ">", devnull();
|
||||
open STDERR, ">", devnull();
|
||||
}
|
||||
|
@ -379,9 +381,9 @@ sub run {
|
|||
if ($ENV{HARNESS_ACTIVE} && !$ENV{HARNESS_VERBOSE}) {
|
||||
close STDOUT;
|
||||
close STDERR;
|
||||
open STDOUT, '>&', $save_STDOUT or die "Can't restore STDOUT: $!";
|
||||
open STDERR, '>&', $save_STDERR or die "Can't restore STDERR: $!";
|
||||
}
|
||||
*STDOUT = *save_STDOUT;
|
||||
*STDERR = *save_STDERR;
|
||||
|
||||
print STDERR "$prefix$display_cmd => $e\n"
|
||||
if !$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE};
|
||||
|
|
Loading…
Reference in a new issue