aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitaly Chikunov <vt@altlinux.org>2019-02-15 22:18:08 +0300
committerVitaly Chikunov <vt@altlinux.org>2019-02-15 23:21:56 +0300
commit32da2bf229ba8bebf2c6f6ac1fc016c49e867488 (patch)
treebba75e3d7c0bb4e322ee55555914cae7182d1ff1
parentb629c446ff7246e526999bfdd2657e774faf306f (diff)
downloadgost-engine-32da2bf229ba8bebf2c6f6ac1fc016c49e867488.zip
gost-engine-32da2bf229ba8bebf2c6f6ac1fc016c49e867488.tar.gz
gost-engine-32da2bf229ba8bebf2c6f6ac1fc016c49e867488.tar.bz2
tests: Load just built engine from the output directory
Define ENGINE_DIR for all binary tests. Instead of auto-loading engine using `example.conf' load it directly from the OUTPUT_DIRECTORY for curves tests.
-rw-r--r--CMakeLists.txt12
-rw-r--r--test_curves.c11
-rw-r--r--test_params.c9
-rw-r--r--test_sign.c9
4 files changed, 39 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 198d746..0538af5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -182,6 +182,18 @@ endif()
add_executable(sign benchmark/sign.c)
target_link_libraries(sign gost_engine gost_core ${OPENSSL_CRYPTO_LIBRARY} ${CLOCK_GETTIME_LIB})
+# All that may need to load just built engine will have path to it defined.
+set(BINARY_TESTS_TARGETS
+ test_curves
+ test_params
+ test_sign
+ test_context
+ test_grasshopper
+ test_keyexpimp
+ test_gost89
+ )
+set_property(TARGET ${BINARY_TESTS_TARGETS} APPEND PROPERTY COMPILE_DEFINITIONS ENGINE_DIR="${OUTPUT_DIRECTORY}")
+
add_library(gost_core STATIC ${GOST_LIB_SOURCE_FILES})
set_target_properties(gost_core PROPERTIES POSITION_INDEPENDENT_CODE ON)
diff --git a/test_curves.c b/test_curves.c
index 28ccce4..973307b 100644
--- a/test_curves.c
+++ b/test_curves.c
@@ -222,11 +222,22 @@ int main(int argc, char **argv)
{
int ret = 0;
+ setenv("OPENSSL_ENGINES", ENGINE_DIR, 0);
+ OPENSSL_add_all_algorithms_conf();
+ ERR_load_crypto_strings();
+ ENGINE *eng;
+ T(eng = ENGINE_by_id("gost"));
+ T(ENGINE_init(eng));
+ T(ENGINE_set_default(eng, ENGINE_METHOD_ALL));
+
struct test_curve *tc;
for (tc = test_curves; tc->nid; tc++) {
ret |= parameter_test(tc);
}
+ ENGINE_finish(eng);
+ ENGINE_free(eng);
+
if (ret)
printf(cDRED "= Some tests FAILED!\n" cNORM);
else
diff --git a/test_params.c b/test_params.c
index 3e12d5a..f7d4b90 100644
--- a/test_params.c
+++ b/test_params.c
@@ -1093,9 +1093,13 @@ int main(int argc, char **argv)
{
int ret = 0;
- setenv("OPENSSL_CONF", "../example.conf", 0);
+ setenv("OPENSSL_ENGINES", ENGINE_DIR, 0);
OPENSSL_add_all_algorithms_conf();
ERR_load_crypto_strings();
+ ENGINE *eng;
+ T(eng = ENGINE_by_id("gost"));
+ T(ENGINE_init(eng));
+ T(ENGINE_set_default(eng, ENGINE_METHOD_ALL));
struct test_param **tpp;
for (tpp = test_params; *tpp; tpp++)
@@ -1105,5 +1109,8 @@ int main(int argc, char **argv)
for (tc = test_certs; tc->cert; tc++)
ret |= test_cert(tc);
+ ENGINE_finish(eng);
+ ENGINE_free(eng);
+
return ret;
}
diff --git a/test_sign.c b/test_sign.c
index 4a63f42..1d00581 100644
--- a/test_sign.c
+++ b/test_sign.c
@@ -236,14 +236,21 @@ int main(int argc, char **argv)
{
int ret = 0;
- setenv("OPENSSL_CONF", "../example.conf", 0);
+ setenv("OPENSSL_ENGINES", ENGINE_DIR, 0);
OPENSSL_add_all_algorithms_conf();
ERR_load_crypto_strings();
+ ENGINE *eng;
+ T(eng = ENGINE_by_id("gost"));
+ T(ENGINE_init(eng));
+ T(ENGINE_set_default(eng, ENGINE_METHOD_ALL));
struct test_sign *sp;
for (sp = test_signs; sp->name; sp++)
ret |= test_sign(sp);
+ ENGINE_finish(eng);
+ ENGINE_free(eng);
+
if (ret)
printf(cDRED "= Some tests FAILED!\n" cNORM);
else