[openssl-commits] [openssl] OpenSSL_1_1_0-stable update

Richard Levitte levitte at openssl.org
Fri Jul 7 09:33:36 UTC 2017


The branch OpenSSL_1_1_0-stable has been updated
       via  64903a26c5855347738825d7724e76e8a89180f3 (commit)
       via  e9c17ef92f66e31cee5193f6e1e449d6d197780e (commit)
       via  0c5f0fd49d784cad923f1dd9b3237f72d51b267d (commit)
      from  02bdd182299736a9acfcb7ae31fe1a1b28445c8c (commit)


- Log -----------------------------------------------------------------
commit 64903a26c5855347738825d7724e76e8a89180f3
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Jul 7 11:11:33 2017 +0200

    test/run_tests.pl: Make sure to exit with a code that's understood universally
    
    TAP::Parser::Aggregator::has_errors may return any number, not just 0
    and 1.  With Perl on VMS, any number from 2 and on is interpreted as a
    VMS status, the 3 lower bits are the encoded severity (1 = SUCCESS,
    for example), so depending on what has_errors returns, a test failure
    might be interpreted as a success.  Therefore, it's better to make
    sure the exit code is 0 or 1, nothing else (they are special on VMS,
    and mean SUCCESS or FAILURE, to match Unix conventions).
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/3880)
    
    (cherry picked from commit 4549ed12ec3337313c14815438fa9aee88bf1359)

commit e9c17ef92f66e31cee5193f6e1e449d6d197780e
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Jul 7 11:10:05 2017 +0200

    test/recipes/90-test_shlibload.t: Make sure to handle library renames
    
    VMS renames our libraries to fit VMS conventions.  This must be accounted
    for when we want to load them.
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/3880)
    
    (cherry picked from commit bfa3480f7609351563ac36dddd7c64e97aa6f446)

commit 0c5f0fd49d784cad923f1dd9b3237f72d51b267d
Author: Richard Levitte <levitte at openssl.org>
Date:   Fri Jul 7 11:09:19 2017 +0200

    VMS: When running a sub-MMS, make sure to give it the main MMS' qualifiers
    
    Reviewed-by: Tim Hudson <tjh at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/3880)
    
    (cherry picked from commit 984cf15eb5faac8e328d1ba4a623b1777eb82de1)

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

Summary of changes:
 Configurations/descrip.mms.tmpl  |  2 +-
 test/recipes/90-test_shlibload.t |  6 ++++--
 test/run_tests.pl                | 11 ++++++++++-
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl
index 92898f9..92eda9e 100644
--- a/Configurations/descrip.mms.tmpl
+++ b/Configurations/descrip.mms.tmpl
@@ -89,7 +89,7 @@
   sub dependmagic {
       my $target = shift;
 
-      return "$target : build_generated\n\t\pipe \$(MMS) depend && \$(MMS) _$target\n_$target";
+      return "$target : build_generated\n\t\pipe \$(MMS) \$(MMSQUALIFIERS) depend && \$(MMS) \$(MMSQUALIFIERS) _$target\n_$target";
   }
   #use Data::Dumper;
   #print STDERR "DEBUG: before:\n", Dumper($unified_info{before});
diff --git a/test/recipes/90-test_shlibload.t b/test/recipes/90-test_shlibload.t
index 9058ba5..aa8d98d 100644
--- a/test/recipes/90-test_shlibload.t
+++ b/test/recipes/90-test_shlibload.t
@@ -22,10 +22,12 @@ plan skip_all => "Test only supported in a shared build" if disabled("shared");
 
 plan tests => 3;
 
+my $libcrypto_idx = $unified_info{rename}->{libcrypto} // "libcrypto";
+my $libssl_idx = $unified_info{rename}->{libssl} // "libssl";
 my $libcrypto =
-    $unified_info{sharednames}->{libcrypto}.$target{shared_extension_simple};
+    $unified_info{sharednames}->{$libcrypto_idx}.$target{shared_extension_simple};
 my $libssl =
-    $unified_info{sharednames}->{libssl}.$target{shared_extension_simple};
+    $unified_info{sharednames}->{$libssl_idx}.$target{shared_extension_simple};
 
 ok(run(test(["shlibloadtest", "-crypto_first", $libcrypto, $libssl])),
    "running shlibloadtest -crypto_first");
diff --git a/test/run_tests.pl b/test/run_tests.pl
index 61fdff6..e5bc927 100644
--- a/test/run_tests.pl
+++ b/test/run_tests.pl
@@ -64,7 +64,16 @@ if ($list_mode) {
     my $harness = $TAP_Harness->new(\%tapargs);
     my $ret = $harness->runtests(sort @tests);
 
-    exit $ret->has_errors if (ref($ret) eq "TAP::Parser::Aggregator");
+    # $ret->has_errors may be any number, not just 0 or 1.  On VMS, numbers
+    # from 2 and on are used as is as VMS statuses, which has severity encoded
+    # in the lower 3 bits.  0 and 1, on the other hand, generate SUCCESS and
+    # FAILURE, so for currect reporting on all platforms, we make sure the only
+    # exit codes are 0 and 1.  Double-bang is the trick to do so.
+    exit !!$ret->has_errors if (ref($ret) eq "TAP::Parser::Aggregator");
+
+    # If this isn't a TAP::Parser::Aggregator, it's the pre-TAP test harness,
+    # which simply dies at the end if any test failed, so we don't need to
+    # bother with any exit code in that case.
 }
 
 


More information about the openssl-commits mailing list