diff options
author | Anderson Toshiyuki Sasaki <ansasaki@redhat.com> | 2018-09-21 13:10:54 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-09-26 16:27:22 +0200 |
commit | 667fb5f9a9c96f210583dbfb11755c43250c5e55 (patch) | |
tree | dde81b96bc6d2012913a652ad84358f1dce26f5c /tests/unittests/CMakeLists.txt | |
parent | 14f5624ff53819f3707fe8da1aa465d8d171b37d (diff) | |
download | libssh-667fb5f9a9c96f210583dbfb11755c43250c5e55.tar.gz libssh-667fb5f9a9c96f210583dbfb11755c43250c5e55.tar.xz libssh-667fb5f9a9c96f210583dbfb11755c43250c5e55.zip |
cmake: Rewritten AddCMockaTest.cmake
This changes add_cmocka_test() to receive compiler options, the
libraries to be linked to the test, and the linker options. The way the
tests are declared in tests/unittests and tests/client were updated.
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests/unittests/CMakeLists.txt')
-rw-r--r-- | tests/unittests/CMakeLists.txt | 152 |
1 files changed, 69 insertions, 83 deletions
diff --git a/tests/unittests/CMakeLists.txt b/tests/unittests/CMakeLists.txt index 397ebd05..c67d6273 100644 --- a/tests/unittests/CMakeLists.txt +++ b/tests/unittests/CMakeLists.txt @@ -2,95 +2,81 @@ project(unittests C) include_directories(${OPENSSL_INCLUDE_DIR}) -add_cmocka_test(torture_buffer torture_buffer.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_buffer PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_callbacks torture_callbacks.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_callbacks PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_crypto torture_crypto.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_crypto PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_init torture_init.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_init PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_list torture_list.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_list PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_misc torture_misc.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_misc PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_config torture_config.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_config PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_options torture_options.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_options PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_isipaddr torture_isipaddr.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_isipaddr PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_knownhosts_parsing torture_knownhosts_parsing.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_knownhosts_parsing PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -add_cmocka_test(torture_hashes torture_hashes.c ${TEST_TARGET_LIBRARIES}) -target_compile_options(torture_hashes PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - -if (CMAKE_USE_PTHREADS_INIT) - add_cmocka_test(torture_rand torture_rand.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_rand PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - target_link_libraries(torture_rand Threads::Threads) - - add_cmocka_test(torture_threads_init torture_threads_init.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_threads_init PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - target_link_libraries(torture_threads_init Threads::Threads) - - add_cmocka_test(torture_threads_buffer torture_threads_buffer.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_threads_buffer PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - target_link_libraries(torture_threads_buffer Threads::Threads) - - add_cmocka_test(torture_threads_crypto torture_threads_crypto.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_threads_crypto PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - target_link_libraries(torture_threads_crypto Threads::Threads) -endif () +set(LIBSSH_UNIT_TESTS + torture_buffer + torture_callbacks + torture_crypto + torture_init + torture_list + torture_misc + torture_config + torture_options + torture_isipaddr + torture_knownhosts_parsing + torture_hashes +) + +set(LIBSSH_THREAD_UNIT_TESTS + torture_rand + torture_threads_init + torture_threads_buffer + torture_threads_crypto +) if (UNIX AND NOT WIN32) - # this uses a socketpair - add_cmocka_test(torture_packet torture_packet.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_packet PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - - # requires ssh-keygen - add_cmocka_test(torture_keyfiles torture_keyfiles.c ${TEST_TARGET_LIBRARIES}) - - add_cmocka_test(torture_pki torture_pki.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_pki PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - - add_cmocka_test(torture_pki_rsa torture_pki_rsa.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_pki_rsa PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - - add_cmocka_test(torture_pki_ed25519 torture_pki_ed25519.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_pki_ed25519 PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) + set(LIBSSH_UNIT_TESTS + ${LIBSSH_UNIT_TESTS} + # this uses a socketpair + torture_packet + # requires ssh-keygen + torture_keyfiles + torture_pki + torture_pki_rsa + torture_pki_ed25519 + # requires /dev/null + torture_channel + ) if (HAVE_DSA) - add_cmocka_test(torture_pki_dsa torture_pki_dsa.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_pki_dsa PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) + set(LIBSSH_UNIT_TESTS + ${LIBSSH_UNIT_TESTS} + torture_pki_dsa + ) endif() + if (HAVE_ECC) - add_cmocka_test(torture_pki_ecdsa torture_pki_ecdsa.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_pki_ecdsa PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) + set(LIBSSH_UNIT_TESTS + ${LIBSSH_UNIT_TESTS} + torture_pki_ecdsa + ) endif() - # requires /dev/null - add_cmocka_test(torture_channel torture_channel.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_channel PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - # requires pthread - if (CMAKE_USE_PTHREADS_INIT) - add_cmocka_test(torture_threads_pki_rsa torture_threads_pki_rsa.c ${TEST_TARGET_LIBRARIES}) - target_compile_options(torture_threads_pki_rsa PRIVATE ${DEFAULT_C_COMPILE_FLAGS}) - target_link_libraries(torture_threads_pki_rsa Threads::Threads) - - # Not working correctly - #if (WITH_SERVER) - # add_cmocka_test(torture_server_x11 torture_server_x11.c ${TEST_TARGET_LIBRARIES}) - #endif (WITH_SERVER) - endif () + set(LIBSSH_THREAD_UNIT_TESTS + ${LIBSSH_THREAD_UNIT_TESTS} + # requires pthread + torture_threads_pki_rsa + ) + # Not working correctly + #if (WITH_SERVER) + # add_cmocka_test(torture_server_x11 torture_server_x11.c ${TEST_TARGET_LIBRARIES}) + #endif (WITH_SERVER) endif (UNIX AND NOT WIN32) + +foreach(_UNIT_TEST ${LIBSSH_UNIT_TESTS}) + add_cmocka_test(${_UNIT_TEST} + SOURCES ${_UNIT_TEST}.c + COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} + LINK_LIBRARIES ${TEST_TARGET_LIBRARIES} + ) +endforeach() + +if (CMAKE_USE_PTHREADS_INIT) + foreach(_UNIT_TEST ${LIBSSH_THREAD_UNIT_TESTS}) + add_cmocka_test(${_UNIT_TEST} + SOURCES ${_UNIT_TEST}.c + COMPILE_OPTIONS ${DEFAULT_C_COMPILE_FLAGS} + LINK_LIBRARIES ${TEST_TARGET_LIBRARIES} Threads::Threads + ) + endforeach() +endif () + |