提交 78e91586 编写于 作者: R Richard Levitte

tests: Shut the shell up unless verbose

In rare cases, the shell we run test programs in may have complaints.
Shut those up unless testing verbosely.
Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
上级 35d2e327
......@@ -13,5 +13,4 @@ setup("test_abort");
plan tests => 1;
open STDERR, ">", "/dev/null";
is(run(test(["aborttest"])), 0, "Testing that abort is caught correctly");
......@@ -353,6 +353,16 @@ sub run {
my $r = 0;
my $e = 0;
# 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;
if ($ENV{HARNESS_ACTIVE} && !$ENV{HARNESS_VERBOSE}) {
open STDOUT, ">", devnull();
open STDERR, ">", devnull();
}
# The dance we do with $? is the same dance the Unix shells appear to
# do. For example, a program that gets aborted (and therefore signals
# SIGABRT = 6) will appear to exit with the code 134. We mimic this
......@@ -366,6 +376,13 @@ sub run {
$r = $hooks{exit_checker}->($e);
}
if ($ENV{HARNESS_ACTIVE} && !$ENV{HARNESS_VERBOSE}) {
close STDOUT;
close STDERR;
}
*STDOUT = *save_STDOUT;
*STDERR = *save_STDERR;
print STDERR "$prefix$display_cmd => $e\n"
if !$ENV{HARNESS_ACTIVE} || $ENV{HARNESS_VERBOSE};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册