summaryrefslogtreecommitdiffstats
path: root/test/verify_extra_test.c
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2017-07-18 03:48:27 +0200
committerPauli <paul.dale@oracle.com>2017-07-26 23:53:08 +0200
commitad887416f1e59c3294a7d8f83a0ca77120523b4a (patch)
tree99971c4acaaa7a43efa38a0d52e230c0e68a1c6c /test/verify_extra_test.c
parentSimplify the handling of shared library version numbers (diff)
downloadopenssl-ad887416f1e59c3294a7d8f83a0ca77120523b4a.tar.xz
openssl-ad887416f1e59c3294a7d8f83a0ca77120523b4a.zip
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/verify_extra_test.c')
-rw-r--r--test/verify_extra_test.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/test/verify_extra_test.c b/test/verify_extra_test.c
index a0df29df17..83d93cd9a0 100644
--- a/test/verify_extra_test.c
+++ b/test/verify_extra_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2015-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
@@ -15,6 +15,10 @@
#include <openssl/err.h>
#include "testutil.h"
+static const char *roots_f;
+static const char *untrusted_f;
+static const char *bad_f;
+
static STACK_OF(X509) *load_certs_from_file(const char *filename)
{
STACK_OF(X509) *certs;
@@ -83,9 +87,7 @@ static STACK_OF(X509) *load_certs_from_file(const char *filename)
* CA=FALSE, and will therefore incorrectly verify bad
*
*/
-static int test_alt_chains_cert_forgery(const char *roots_f,
- const char *untrusted_f,
- const char *bad_f)
+static int test_alt_chains_cert_forgery(void)
{
int ret = 0;
int i;
@@ -136,14 +138,15 @@ static int test_alt_chains_cert_forgery(const char *roots_f,
return ret;
}
-int test_main(int argc, char **argv)
+int setup_tests(void)
{
- if (argc != 4) {
+ if (!TEST_ptr(roots_f = test_get_argument(0))
+ || !TEST_ptr(untrusted_f = test_get_argument(1))
+ || !TEST_ptr(bad_f = test_get_argument(2))) {
TEST_error("usage: verify_extra_test roots.pem untrusted.pem bad.pem\n");
- return EXIT_FAILURE;
+ return 0;
}
- if (!TEST_true(test_alt_chains_cert_forgery(argv[1], argv[2], argv[3])))
- return EXIT_FAILURE;
- return EXIT_SUCCESS;
+ ADD_TEST(test_alt_chains_cert_forgery);
+ return 1;
}