From 12a4464bd385ae88c3f1044d771341cd134cb18c Mon Sep 17 00:00:00 2001 From: Saya Sugiura Date: Wed, 28 Jul 2021 10:13:59 +0900 Subject: gtest: Refactor tests/CMakeLists.txt This also removed following tests to more appropriate place: - dlt-test-preregister-context.c - dlt-test-cpp-extension.cpp Signed-off-by: Saya Sugiura --- tests/CMakeLists.txt | 131 ++++++++++++++++++++++++++------------------------- 1 file changed, 68 insertions(+), 63 deletions(-) (limited to 'tests/CMakeLists.txt') diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 26edca4..37de4cb 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,30 +1,83 @@ -#add_compile_options(-g -fsanitize=address) -add_compile_options(-isystem ${gtest_SOURCE_DIR}/include) +# Setup testing +enable_testing() + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -isystem ${gtest_SOURCE_DIR}/include") +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem ${gtest_SOURCE_DIR}/include -std=gnu++0x") configure_file(${PROJECT_SOURCE_DIR}/tests/testfile.dlt ${PROJECT_BINARY_DIR}/tests COPYONLY) configure_file(${PROJECT_SOURCE_DIR}/tests/testfilter.txt ${PROJECT_BINARY_DIR}/tests COPYONLY) configure_file(${PROJECT_SOURCE_DIR}/tests/testfile_filetransfer.txt ${PROJECT_BINARY_DIR}/tests COPYONLY) +set(GTEST_LIBS gtest gtest_main) +set(GTEST_LIBS ${GTEST_LIBS} CACHE STRING "Gtest libraries") + if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - set(LIBRARIES gtest gtest_main) + set(LIBRARIES "") else() - set(LIBRARIES gtest socket) + set(LIBRARIES socket) endif() -set(DLT_LIBRARIES ${LIBRARIES} dlt) -set(DLT_DAEMON_LIBRARIES ${LIBRARIES} dlt_daemon) -set(DLT_CONTROL_LIBRARIES ${LIBRARIES} dlt dlt_control_common_lib) +set(DLT_LIBRARIES dlt ${GTEST_BOTH_LIBRARIES} ${LIBRARIES}) +set(DLT_DAEMON_LIBRARIES dlt_daemon ${GTEST_BOTH_LIBRARIES} ${LIBRARIES}) +set(DLT_CONTROL_LIBRARIES dlt dlt_control_common_lib ${GTEST_BOTH_LIBRARIES}) -if(WITH_SYSTEMD OR WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD_JOURNAL) - add_definitions( -DSD_EXPORT_SYMBOLS ) +#Receiver used for QTs. add_test() is not required +add_executable(dlt_test_receiver dlt_test_receiver.c) +target_link_libraries(dlt_test_receiver ${DLT_LIBRARIES}) + +#################### +# DLT library tests +#################### +set(TARGET_LIST gtest_dlt_common + gtest_dlt_user + gtest_dlt_daemon_common + dlt_env_ll_unit_test + ) + +foreach(target IN LISTS TARGET_LIST) + set(target_SRCS ${target}) + if(${target} STREQUAL "gtest_dlt_daemon_common") + set(target_SRCS ${target_SRCS} ../src/daemon/dlt_daemon_common.c) + endif() + add_executable(${target} ${target_SRCS}) + target_link_libraries(${target} ${DLT_LIBRARIES}) + add_test(NAME ${target} + COMMAND ${target} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +endforeach() + +################### +# DLT daemon tests +################### +set(TARGET_LIST gtest_dlt_daemon_gateway + gtest_dlt_daemon_offline_log + gtest_dlt_daemon_filter + gtest_dlt_daemon_event_handler + ) +if(WITH_DLT_SHM_ENABLE) + list(APPEND TARGET_LIST gtest_dlt_shm) endif() -add_executable(gtest_dlt_common gtest_dlt_common.cpp) -target_link_libraries(gtest_dlt_common ${DLT_LIBRARIES}) -add_test(NAME gtest_dlt_common - COMMAND gtest_dlt_common - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - +foreach(target IN LISTS TARGET_LIST) + set(target_SRCS ${target}) + add_executable(${target} ${target_SRCS} ${systemd_SRCS}) + target_link_libraries(${target} ${DLT_DAEMON_LIBRARIES}) + if(${target} STREQUAL "gtest_dlt_daemon_event_handler" OR + ${target} STREQUAL "gtest_dlt_shm") + add_test(NAME ${target} + COMMAND ${target} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + else() + add_test(NAME ${target} + COMMAND /bin/sh "${target}.sh" + ${target} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endif() +endforeach() + +##################### +# DLT conotrol tests +##################### if(WITH_EXTENDED_FILTERING) configure_file(${PROJECT_SOURCE_DIR}/tests/testfile_extended.dlt ${PROJECT_BINARY_DIR}/tests COPYONLY) configure_file(${PROJECT_SOURCE_DIR}/tests/testfilter.json ${PROJECT_BINARY_DIR}/tests COPYONLY) @@ -35,51 +88,3 @@ if(WITH_EXTENDED_FILTERING) WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) endif() -add_executable(gtest_dlt_user gtest_dlt_user.cpp) -target_link_libraries(gtest_dlt_user ${DLT_LIBRARIES}) -add_test(NAME gtest_dlt_user - COMMAND gtest_dlt_user - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - -add_executable(gtest_dlt_daemon_common gtest_dlt_daemon_common.cpp ../src/daemon/dlt_daemon_common.c) -target_link_libraries(gtest_dlt_daemon_common ${DLT_LIBRARIES}) -add_test(NAME gtest_dlt_daemon_common - COMMAND gtest_dlt_daemon_common - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - -add_executable(dlt_test_receiver dlt_test_receiver.c) -target_link_libraries(dlt_test_receiver dlt) - -add_executable(dlt_env_ll_unit_test dlt_env_ll_unit_test.cpp) -target_link_libraries(dlt_env_ll_unit_test ${DLT_LIBRARIES}) -add_test(NAME dlt_env_ll_unit_test - COMMAND gtest_dlt_common - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - -add_executable(dlt-test-preregister-context dlt-test-preregister-context.c) -target_link_libraries(dlt-test-preregister-context ${DLT_LIBRARIES}) - -add_executable(gtest_dlt_daemon_gateway gtest_dlt_daemon_gateway.cpp ${systemd_SRCS}) -target_link_libraries(gtest_dlt_daemon_gateway ${DLT_DAEMON_LIBRARIES}) - -add_executable(gtest_dlt_daemon_event_handler gtest_dlt_daemon_event_handler.cpp ${systemd_SRCS}) -target_link_libraries(gtest_dlt_daemon_event_handler ${DLT_DAEMON_LIBRARIES}) -add_test(NAME gtest_dlt_daemon_event_handler - COMMAND gtest_dlt_daemon_event_handler - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - -add_executable(gtest_dlt_daemon_offline_log gtest_dlt_daemon_offline_log.cpp ${systemd_SRCS}) -target_link_libraries(gtest_dlt_daemon_offline_log ${DLT_DAEMON_LIBRARIES}) - -if(WITH_DLT_SHM_ENABLE) - add_executable(gtest_dlt_shm gtest_dlt_shm.cpp) -endif(WITH_DLT_SHM_ENABLE) - -if(WITH_DLT_SHM_ENABLE) - target_link_libraries(gtest_dlt_shm ${DLT_DAEMON_LIBRARIES}) -endif(WITH_DLT_SHM_ENABLE) - -if(WITH_DLT_CXX11_EXT) - add_executable(dlt-test-cpp-extension dlt-test-cpp-extension.cpp) - target_link_libraries(dlt-test-cpp-extension ${DLT_LIBRARIES}) -endif() -- cgit v1.2.1