aboutsummaryrefslogtreecommitdiff
path: root/testcode/unitmain.c
diff options
context:
space:
mode:
Diffstat (limited to 'testcode/unitmain.c')
-rw-r--r--testcode/unitmain.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/testcode/unitmain.c b/testcode/unitmain.c
index e8bb898b0d74..988346a1efc9 100644
--- a/testcode/unitmain.c
+++ b/testcode/unitmain.c
@@ -568,6 +568,9 @@ void unit_show_feature(const char* feature)
printf("test %s functions\n", feature);
}
+#ifdef USE_ECDSA_EVP_WORKAROUND
+void ecdsa_evp_workaround_init(void);
+#endif
/**
* Main unit test program. Setup, teardown and report errors.
* @param argc: arg count.
@@ -585,10 +588,15 @@ main(int argc, char* argv[])
}
printf("Start of %s unit test.\n", PACKAGE_STRING);
#ifdef HAVE_SSL
+# ifdef HAVE_ERR_LOAD_CRYPTO_STRINGS
ERR_load_crypto_strings();
+# endif
# ifdef USE_GOST
(void)sldns_key_EVP_load_gost_id();
# endif
+# ifdef USE_ECDSA_EVP_WORKAROUND
+ ecdsa_evp_workaround_init();
+# endif
#elif defined(HAVE_NSS)
if(NSS_NoDB_Init(".") != SECSuccess)
fatal_exit("could not init NSS");
@@ -617,13 +625,21 @@ main(int argc, char* argv[])
sldns_key_EVP_unload_gost();
# endif
# ifdef HAVE_OPENSSL_CONFIG
+# ifdef HAVE_EVP_CLEANUP
EVP_cleanup();
+# endif
ENGINE_cleanup();
CONF_modules_free();
# endif
+# ifdef HAVE_CRYPTO_CLEANUP_ALL_EX_DATA
CRYPTO_cleanup_all_ex_data();
+# endif
+# ifdef HAVE_ERR_FREE_STRINGS
ERR_free_strings();
+# endif
+# ifdef HAVE_RAND_CLEANUP
RAND_cleanup();
+# endif
#elif defined(HAVE_NSS)
if(NSS_Shutdown() != SECSuccess)
fatal_exit("could not shutdown NSS");