summaryrefslogtreecommitdiff
path: root/test/afalgtest.c
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2017-07-18 11:48:27 +1000
committerPauli <paul.dale@oracle.com>2017-07-27 07:53:08 +1000
commitad887416f1e59c3294a7d8f83a0ca77120523b4a (patch)
tree99971c4acaaa7a43efa38a0d52e230c0e68a1c6c /test/afalgtest.c
parentd445302418b41b76c15e103954b1311d98077480 (diff)
downloadopenssl-new-ad887416f1e59c3294a7d8f83a0ca77120523b4a.tar.gz
Update the test framework so that the need for test_main is removed. Everything
that needed test_main now works using the same infrastructure as tests that used register_tests. This meant: * renaming register_tests to setup_tests and giving it a success/failure return. * renaming the init_test function to setup_test_framework. * renaming the finish_test function to pulldown_test_framework. * adding a user provided global_init function that runs before the test frame work is initialised. It returns a failure indication that stops the stest. * adding helper functions that permit tests to access their command line args. * spliting the BIO initialisation and finalisation out from the test setup and teardown. * hiding some of the now test internal functions. * fix the comments in testutil.h Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3953)
Diffstat (limited to 'test/afalgtest.c')
-rw-r--r--test/afalgtest.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/test/afalgtest.c b/test/afalgtest.c
index 40ea025405..62dcdb2277 100644
--- a/test/afalgtest.c
+++ b/test/afalgtest.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2017 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the OpenSSL license (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -85,21 +85,20 @@ static int test_afalg_aes_128_cbc(void)
}
#endif
-int main(int argc, char **argv)
+#ifndef OPENSSL_NO_ENGINE
+int global_init(void)
{
- int ret = 0;
-
-#ifdef OPENSSL_NO_ENGINE
- setup_test();
- ret = run_tests(argv[0]);
-#else
ENGINE_load_builtin_engines();
# ifndef OPENSSL_NO_STATIC_ENGINE
OPENSSL_init_crypto(OPENSSL_INIT_ENGINE_AFALG, NULL);
# endif
+ return 1;
+}
+#endif
- setup_test();
-
+int setup_tests(void)
+{
+#ifndef OPENSSL_NO_ENGINE
if ((e = ENGINE_by_id("afalg")) == NULL) {
/* Probably a platform env issue, not a test failure. */
TEST_info("Can't load AFALG engine");
@@ -108,9 +107,14 @@ int main(int argc, char **argv)
ADD_TEST(test_afalg_aes_128_cbc);
# endif
}
- ret = run_tests(argv[0]);
- ENGINE_free(e);
#endif
- return finish_test(ret);
+ return 1;
}
+
+#ifndef OPENSSL_NO_ENGINE
+void cleanup_tests(void)
+{
+ ENGINE_free(e);
+}
+#endif