diff options
author | Richard Levitte <richard@levitte.org> | 2021-02-14 21:53:02 +0100 |
---|---|---|
committer | Dmitry Belyavskiy <beldmit@users.noreply.github.com> | 2021-02-16 11:43:15 +0100 |
commit | 4573bedad51d6978b26b5d420430d8e64f02d47b (patch) | |
tree | af1a96024aeefbd2ea3e4561519500ce9c2645e7 /CMakeLists.txt | |
parent | f2bbf8ca2300e37cd1d1f10b7153e61419b2ccab (diff) | |
download | gost-engine-4573bedad51d6978b26b5d420430d8e64f02d47b.zip gost-engine-4573bedad51d6978b26b5d420430d8e64f02d47b.tar.gz gost-engine-4573bedad51d6978b26b5d420430d8e64f02d47b.tar.bz2 |
Remove the use of test/run_tests in favor of 'prove'
'prove' is a well developed TAP harness program, there's no real need
to write one's own.
We do need to set certain paths properly for the appropriate 'openssl'
program to be run. We do that with a 'prove' plugin (WrapOpenSSL.pm)
that simply amends the appropriate system environment variables, given
a number of cmake generated environment variables that indicate where
OpenSSL files reside.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index c14717a..c7c3ec9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,9 @@ include(CheckCSourceRuns) enable_testing() find_package(OpenSSL 3.0 REQUIRED) +find_program(OPENSSL_PROGRAM openssl + PATHS ${OPENSSL_ROOT_DIR} PATH_SUFFIXES apps bin NO_DEFAULT_PATH) +message("-- Found OpenSSL application: ${OPENSSL_PROGRAM}") include_directories(${OPENSSL_INCLUDE_DIR}) if (CMAKE_C_COMPILER_ID MATCHES "Clang") @@ -235,11 +238,17 @@ if(NOT SKIP_PERL_TESTS) execute_process(COMMAND perl -MTest2::V0 -e "" ERROR_QUIET RESULT_VARIABLE HAVE_TEST2_V0) if(NOT HAVE_TEST2_V0) + set(TEST_ENVIRONMENT + CMAKE_CURRENT_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR} + PERL5LIB=${CMAKE_CURRENT_SOURCE_DIR}/test + OPENSSL_ENGINES=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + OPENSSL_PROGRAM=${OPENSSL_PROGRAM} + OPENSSL_CRYPTO_LIBRARY=${OPENSSL_CRYPTO_LIBRARY} + OPENSSL_CONF=${CMAKE_CURRENT_SOURCE_DIR}/test/empty.cnf + ) add_test(NAME engine - COMMAND perl run_tests - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/test) - set_tests_properties(engine PROPERTIES ENVIRONMENT - "OPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR};OPENSSL_ENGINES=${OUTPUT_DIRECTORY};OPENSSL_CONF=${CMAKE_SOURCE_DIR}/test/empty.cnf") + COMMAND prove --merge -PWrapOpenSSL ${CMAKE_CURRENT_SOURCE_DIR}/test) + set_tests_properties(engine PROPERTIES ENVIRONMENT "${TEST_ENVIRONMENT}") else() message(STATUS "No Test2::V0 perl module (engine tests skipped)") endif() |