diff options
author | Richard Levitte <levitte@openssl.org> | 2019-02-20 08:21:02 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-02-20 18:48:49 +0100 |
commit | 0b76ce99aaa5678b44cb99df464e977975747928 (patch) | |
tree | c738783fb10fbe885b94911e84fffb0bb99f2b4e /test/context_internal_test.c | |
parent | 7dec815ecde29c1eabed6b5832c7025c4eafad19 (diff) |
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@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8288)
Diffstat (limited to 'test/context_internal_test.c')
-rw-r--r-- | test/context_internal_test.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/test/context_internal_test.c b/test/context_internal_test.c index 7052de2322..aca3db3187 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; |