mirror of
https://git.libssh.org/projects/libssh.git
synced 2025-07-28 01:41:48 +03:00
Signed-off-by: Nicolas Graves <ngraves@ngraves.fr> Reviewed-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Eshan Kelkar <eshankelkar@galorithm.com>
139 lines
3.6 KiB
CMake
139 lines
3.6 KiB
CMake
project(unittests C)
|
|
|
|
set(LIBSSH_UNIT_TESTS
|
|
torture_bignum
|
|
torture_buffer
|
|
torture_bytearray
|
|
torture_callbacks
|
|
torture_crypto
|
|
torture_init
|
|
torture_list
|
|
torture_misc
|
|
torture_config
|
|
torture_options
|
|
torture_isipaddr
|
|
torture_knownhosts_parsing
|
|
torture_hashes
|
|
torture_packet_filter
|
|
torture_temp_dir
|
|
torture_temp_file
|
|
torture_push_pop_dir
|
|
torture_session_keys
|
|
torture_string
|
|
torture_tokens
|
|
)
|
|
|
|
set(LIBSSH_THREAD_UNIT_TESTS
|
|
torture_rand
|
|
torture_threads_init
|
|
torture_threads_buffer
|
|
torture_threads_crypto
|
|
)
|
|
|
|
set(TORTURE_UNIT_ENVIRONMENT
|
|
"LSAN_OPTIONS=suppressions=${libssh-tests_SOURCE_DIR}/suppressions/lsan.supp;")
|
|
if (OPENSSL_FOUND)
|
|
list(APPEND TORTURE_UNIT_ENVIRONMENT OPENSSL_ENABLE_SHA1_SIGNATURES=1)
|
|
endif (OPENSSL_FOUND)
|
|
|
|
if (UNIX AND NOT WIN32)
|
|
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_dsa
|
|
torture_pki_ed25519
|
|
torture_pki_sshsig
|
|
# requires /dev/null
|
|
torture_channel
|
|
)
|
|
if (HAVE_IFADDRS_H)
|
|
set(LIBSSH_UNIT_TESTS
|
|
${LIBSSH_UNIT_TESTS}
|
|
# requires some non-standard API from netdb.h, in.h
|
|
# and arpa/inet.h for handling IP addresses
|
|
torture_config_match_localnetwork
|
|
)
|
|
endif (HAVE_IFADDRS_H)
|
|
if (WITH_SERVER)
|
|
set(LIBSSH_UNIT_TESTS
|
|
${LIBSSH_UNIT_TESTS}
|
|
torture_bind_config)
|
|
|
|
if (WITH_GEX)
|
|
set(LIBSSH_UNIT_TESTS
|
|
${LIBSSH_UNIT_TESTS}
|
|
torture_moduli)
|
|
endif()
|
|
endif()
|
|
|
|
if (WITH_PKCS11_URI)
|
|
set(LIBSSH_UNIT_TESTS
|
|
${LIBSSH_UNIT_TESTS}
|
|
torture_pki_rsa_uri
|
|
torture_pki_ecdsa_uri
|
|
)
|
|
if (WITH_PKCS11_PROVIDER)
|
|
set(LIBSSH_UNIT_TESTS
|
|
${LIBSSH_UNIT_TESTS}
|
|
torture_pki_ed25519_uri
|
|
)
|
|
list(APPEND TORTURE_UNIT_ENVIRONMENT
|
|
PKCS11_PROVIDER_DEBUG=file:/tmp/p11prov-debug.log)
|
|
endif()
|
|
endif()
|
|
|
|
if (HAVE_ECC)
|
|
set(LIBSSH_UNIT_TESTS
|
|
${LIBSSH_UNIT_TESTS}
|
|
torture_pki_ecdsa
|
|
)
|
|
endif()
|
|
|
|
set(LIBSSH_THREAD_UNIT_TESTS
|
|
${LIBSSH_THREAD_UNIT_TESTS}
|
|
# requires pthread
|
|
torture_threads_pki_rsa
|
|
)
|
|
if (WITH_SERVER)
|
|
set(LIBSSH_THREAD_UNIT_TESTS
|
|
${LIBSSH_THREAD_UNIT_TESTS}
|
|
torture_unit_server
|
|
torture_server_x11
|
|
torture_forwarded_tcpip_callback
|
|
torture_server_direct_tcpip
|
|
)
|
|
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}
|
|
)
|
|
|
|
set_property(TEST ${_UNIT_TEST}
|
|
PROPERTY
|
|
ENVIRONMENT ${TORTURE_UNIT_ENVIRONMENT})
|
|
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
|
|
)
|
|
|
|
set_property(TEST ${_UNIT_TEST}
|
|
PROPERTY
|
|
ENVIRONMENT ${TORTURE_UNIT_ENVIRONMENT})
|
|
endforeach()
|
|
endif ()
|
|
|