src.dualinventive.com/dinet/sec-multi-proxy/tests/CMakeLists.txt

57 lines
2.1 KiB
CMake

if (NOT BUILD_TESTING)
message("-- unit tests disabled")
return()
endif()
message("-- unit tests enabled")
set(APP_TESTS
authentication
time_synchronisation
udp_messages
udp_pub_to_device
publishing_messages
request_reply
reqrep_redundant_device
reqrep_connection_reorder_timeout
reqrep_timeout_concurrency
register_unregister
extra_tests
)
find_package(Threads REQUIRED)
find_package(ZMQ REQUIRED)
include("${DI_COMMON_CMAKE_DIR}/libs/gtest.txt")
include("${DI_COMMON_CMAKE_DIR}/TestReport.txt")
di_get_random_port(TCP_PORT)
di_get_random_port(UDP_PORT)
di_get_random_port(LOGIF_PORT)
di_get_random_port(REQREP_PORT)
di_get_random_port(PUB_PORT)
di_get_random_port(SUB_PORT)
include_directories("${gtest_include_dir}")
foreach(test ${APP_TESTS})
string(REPLACE "/" "_" target ${test})
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${test}.cpp")
add_executable(${target} ${test}.cpp)
set_source_files_properties("${test}.cpp" PROPERTIES COMPILE_FLAGS -Wno-old-style-cast)
add_dependencies(${target} dipp dippgtest)
target_link_libraries(${target} ${PROJECT_APP_NAME}-lib ${libdipp_libraries} zmq ${gtest_library} ${gtest_main_library} ${CMAKE_THREAD_LIBS_INIT})
add_test(NAME "${target}" COMMAND "${CMAKE_CURRENT_BINARY_DIR}/${target}")
set_property(TEST "${target}" PROPERTY ENVIRONMENT "TESTNAME=${target}")
set_tests_properties("${target}" PROPERTIES TIMEOUT 30)
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${test}.php")
set(TEST_FILENAME "/usr/bin/php -d COMMON_PATH=${CMAKE_CURRENT_LIST_DIR}/../common -d TCP_PORT=${TCP_PORT} -d UDP_PORT=${UDP_PORT} -d LOGIF_PORT=${LOGIF_PORT} -d REQREP_PORT=${REQREP_PORT} -d PUB_PORT=${PUB_PORT} -d SUB_PORT=${SUB_PORT} ${CMAKE_CURRENT_SOURCE_DIR}/${test}.php")
configure_file("test.conf.in" "${CMAKE_CURRENT_BINARY_DIR}/${target}.conf")
add_test(NAME "${target}" COMMAND "${CMAKE_CURRENT_BINARY_DIR}/../${PROJECT_APP_NAME}" "${CMAKE_CURRENT_BINARY_DIR}/${target}.conf")
set_tests_properties("${target}" PROPERTIES TIMEOUT 50)
set_property(TEST "${target}" PROPERTY ENVIRONMENT "TESTNAME=${target}")
else()
message(FATAL_ERROR "Not adding test ${test}")
endif()
endforeach()