[openssl-commits] [openssl] master update

Richard Levitte levitte at openssl.org
Mon Jun 6 08:03:06 UTC 2016


The branch master has been updated
       via  78e91586fbeb2c3a54d2a8a28dadeeb1eb0f57a8 (commit)
      from  35d2e3275f9b313ed63754641118ecbbc7873413 (commit)


- Log -----------------------------------------------------------------
commit 78e91586fbeb2c3a54d2a8a28dadeeb1eb0f57a8
Author: Richard Levitte <levitte at openssl.org>
Date:   Sun Jun 5 23:01:24 2016 +0200

    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: Viktor Dukhovni <viktor at openssl.org>

-----------------------------------------------------------------------

Summary of changes:
 test/recipes/01-test_abort.t |  1 -
 test/testlib/OpenSSL/Test.pm | 17 +++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/test/recipes/01-test_abort.t b/test/recipes/01-test_abort.t
index a6a7f31..2f121e2 100644
--- a/test/recipes/01-test_abort.t
+++ b/test/recipes/01-test_abort.t
@@ -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");
diff --git a/test/testlib/OpenSSL/Test.pm b/test/testlib/OpenSSL/Test.pm
index 8a7d0a0..1e9730b 100644
--- a/test/testlib/OpenSSL/Test.pm
+++ b/test/testlib/OpenSSL/Test.pm
@@ -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};
 


More information about the openssl-commits mailing list