[openssl] master update

nic.tuv at gmail.com nic.tuv at gmail.com
Thu Jul 2 14:11:45 UTC 2020


The branch master has been updated
       via  9576c498ca8793261adc20e9dca9cf419617cd3e (commit)
       via  af3e8c298ab9fcee47d2d4a54f8be084990f9382 (commit)
       via  a20c9075d6a72f484d1f27d99a54483a7e96fc51 (commit)
       via  587e4e53f886cd4d7a8b0eb063b823409e2ed4b9 (commit)
      from  94941cada25433a7dca35b5b9f8cbb751ab65ab3 (commit)


- Log -----------------------------------------------------------------
commit 9576c498ca8793261adc20e9dca9cf419617cd3e
Author: Nicola Tuveri <nic.tuv at gmail.com>
Date:   Tue Jun 30 15:56:14 2020 +0300

    [test/README.md] minor fix of examples missing the test target
    
    Reviewed-by: David von Oheimb <david.von.oheimb at siemens.com>
    (Merged from https://github.com/openssl/openssl/pull/12326)

commit af3e8c298ab9fcee47d2d4a54f8be084990f9382
Author: Nicola Tuveri <nic.tuv at gmail.com>
Date:   Tue Jun 30 15:55:12 2020 +0300

    Travis: default to HARNESS_JOBS=4
    
    We can run tests in parallel by setting the HARNESS_JOBS environment
    variable.
    
    Reviewed-by: David von Oheimb <david.von.oheimb at siemens.com>
    (Merged from https://github.com/openssl/openssl/pull/12326)

commit a20c9075d6a72f484d1f27d99a54483a7e96fc51
Author: Nicola Tuveri <nic.tuv at gmail.com>
Date:   Tue Jun 30 10:23:56 2020 +0300

    Run tests in parallel
    
    The environment variable `HARNESS_JOBS` can be used to control how many
    jobs to run in parallel.  The default is still to run jobs sequentially.
    
    This commit does not define custom `rules`, and different versions of
    `TAP::Harness` come with different strategies regarding the default
    `rules` that define which test recipes can be run in parallel.
    In recent versions of Perl, unless specified otherwise any task can be
    run in parallel.
    
    Reviewed-by: David von Oheimb <david.von.oheimb at siemens.com>
    (Merged from https://github.com/openssl/openssl/pull/12326)

commit 587e4e53f886cd4d7a8b0eb063b823409e2ed4b9
Author: Nicola Tuveri <nic.tuv at gmail.com>
Date:   Sun Jun 28 17:07:59 2020 +0300

    Fix memory leaks on OSSL_SERIALIZER_CTX_new_by_EVP_PKEY
    
    Fixes #12303
    
    Reviewed-by: Richard Levitte <levitte at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/12304)

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

Summary of changes:
 .travis.yml                         |  1 +
 crypto/serializer/serializer_pkey.c |  5 +++--
 test/README.md                      | 25 ++++++++++++++++++++++---
 test/run_tests.pl                   |  3 +++
 4 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index be9ba1e68f..174e9b182f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -173,6 +173,7 @@ before_script:
           fi;
       fi
     - ./configdata.pm --dump
+    - export HARNESS_JOBS=${HARNESS_JOBS:-4}
     - cd $top
 
 script:
diff --git a/crypto/serializer/serializer_pkey.c b/crypto/serializer/serializer_pkey.c
index d612070240..1e7fc3eafb 100644
--- a/crypto/serializer/serializer_pkey.c
+++ b/crypto/serializer/serializer_pkey.c
@@ -292,8 +292,6 @@ OSSL_SERIALIZER_CTX *OSSL_SERIALIZER_CTX_new_by_EVP_PKEY(const EVP_PKEY *pkey,
         const OSSL_PROVIDER *desired_prov = EVP_KEYMGMT_provider(keymgmt);
         OPENSSL_CTX *libctx = ossl_provider_library_context(desired_prov);
         struct selected_serializer_st sel_data;
-        OSSL_PROPERTY_LIST *check = ossl_parse_query(libctx, "type=parameters");
-        OSSL_PROPERTY_LIST *current_props = NULL;
         OSSL_SERIALIZER *first = NULL;
         const char *name;
         int i;
@@ -347,6 +345,9 @@ OSSL_SERIALIZER_CTX *OSSL_SERIALIZER_CTX_new_by_EVP_PKEY(const EVP_PKEY *pkey,
             ser = first;
 
         if (ser != NULL) {
+            OSSL_PROPERTY_LIST *check = NULL, *current_props = NULL;
+
+            check = ossl_parse_query(libctx, "type=parameters");
             current_props =
                 ossl_parse_property(libctx, OSSL_SERIALIZER_properties(ser));
             if (ossl_property_match_count(check, current_props) > 0)
diff --git a/test/README.md b/test/README.md
index 4db26bd047..76bf1b17aa 100644
--- a/test/README.md
+++ b/test/README.md
@@ -114,17 +114,36 @@ starting with "test_ssl_":
 
 Run only test group 10:
 
-    $ make TESTS='10'
+    $ make TESTS='10' test
 
 Run all tests except the slow group (group 99):
 
-    $ make TESTS='-99'
+    $ make TESTS='-99' test
 
 Run all tests in test groups 80 to 99 except for tests in group 90:
 
-    $ make TESTS='[89]? -90'
+    $ make TESTS='[89]? -90' test
 
 To stochastically verify that the algorithm that produces uniformly distributed
 random numbers is operating correctly (with a false positive rate of 0.01%):
 
     $ ./util/wrap.sh test/bntest -stochastic
+
+Running Tests in Parallel
+-------------------------
+
+By default the test harness will execute the selected tests sequentially.
+Depending on the platform characteristics, running more than one test job in
+parallel may speed up test execution.
+This can be requested by setting the `HARNESS_JOBS` environment variable to a
+positive integer value. This specifies the maximum number of test jobs to run in
+parallel.
+
+Depending on the Perl version different strategies could be adopted to select
+which test recipes can be run in parallel.  In recent versions of Perl, unless
+specified otherwise, any task can be run in parallel. Consult the documentation
+for `TAP::Harness` to know more.
+
+To run up to four tests in parallel at any given time:
+
+    $ make HARNESS_JOBS=4 test
diff --git a/test/run_tests.pl b/test/run_tests.pl
index 8306c6018a..5eddaf8468 100644
--- a/test/run_tests.pl
+++ b/test/run_tests.pl
@@ -30,6 +30,7 @@ my $srctop = $ENV{SRCTOP} || $ENV{TOP};
 my $bldtop = $ENV{BLDTOP} || $ENV{TOP};
 my $recipesdir = catdir($srctop, "test", "recipes");
 my $libdir = rel2abs(catdir($srctop, "util", "perl"));
+my $jobs = $ENV{HARNESS_JOBS};
 
 $ENV{OPENSSL_CONF} = rel2abs(catdir($srctop, "apps", "openssl.cnf"));
 $ENV{OPENSSL_CONF_INCLUDE} = rel2abs(catdir($bldtop, "providers"));
@@ -44,6 +45,8 @@ my %tapargs =
       merge             => 1,
     );
 
+$tapargs{jobs} = $jobs if defined $jobs;
+
 # Additional OpenSSL special TAP arguments.  Because we can't pass them via
 # TAP::Harness->new(), they will be accessed directly, see the
 # TAP::Parser::OpenSSL implementation further down


More information about the openssl-commits mailing list