[openssl] master update

Richard Levitte levitte at openssl.org
Wed Feb 20 17:49:14 UTC 2019


The branch master has been updated
       via  0b76ce99aaa5678b44cb99df464e977975747928 (commit)
      from  7dec815ecde29c1eabed6b5832c7025c4eafad19 (commit)


- Log -----------------------------------------------------------------
commit 0b76ce99aaa5678b44cb99df464e977975747928
Author: Richard Levitte <levitte at openssl.org>
Date:   Wed Feb 20 08:21:02 2019 +0100

    test/context_internal_test.c: don't initialize as a separate test
    
    Because test order can be randomized, running foo_init() as a separate
    test is unsafe practice.  Instead, we make it possible to call it
    multiple times, and call it at the start of each separate test.
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/8288)

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

Summary of changes:
 test/context_internal_test.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/test/context_internal_test.c b/test/context_internal_test.c
index 7052de2..aca3db3 100644
--- a/test/context_internal_test.c
+++ b/test/context_internal_test.c
@@ -46,8 +46,10 @@ static const OPENSSL_CTX_METHOD foo_method = {
     foo_free
 };
 
-static int foo_init(void) {
-    foo_index = openssl_ctx_new_index(&foo_method);
+static int foo_init(void)
+{
+    if (foo_index == -1)
+        foo_index = openssl_ctx_new_index(&foo_method);
 
     return foo_index != -1;
 }
@@ -61,15 +63,20 @@ static int test_context(OPENSSL_CTX *ctx)
 {
     FOO *data = NULL;
 
-    return (TEST_ptr(data = openssl_ctx_get_data(ctx, foo_index))
-            /* OPENSSL_zalloc in foo_new() initialized it to zero */
-            && TEST_int_eq(data->i, 42));
+    return
+        TEST_true(foo_init())
+        && TEST_ptr(data = openssl_ctx_get_data(ctx, foo_index))
+        /* OPENSSL_zalloc in foo_new() initialized it to zero */
+        && TEST_int_eq(data->i, 42);
 }
 
 static int test_app_context(void)
 {
     OPENSSL_CTX *ctx = NULL;
-    int result = (TEST_ptr(ctx = OPENSSL_CTX_new()) && test_context(ctx));
+    int result =
+        TEST_true(foo_init())
+        && TEST_ptr(ctx = OPENSSL_CTX_new())
+        && test_context(ctx);
 
     OPENSSL_CTX_free(ctx);
     return result;
@@ -82,7 +89,6 @@ static int test_def_context(void)
 
 int setup_tests(void)
 {
-    ADD_TEST(foo_init);
     ADD_TEST(test_app_context);
     ADD_TEST(test_def_context);
     return 1;


More information about the openssl-commits mailing list