Commit 78e91586 authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarViktor Dukhovni <viktor@openssl.org>
parent 35d2e327
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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");
+17 −0
Original line number Diff line number Diff line
@@ -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};