summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSaya Sugiura <ssugiura@jp.adit-jv.com>2021-07-28 10:13:59 +0900
committerSaya Sugiura <39760799+ssugiura@users.noreply.github.com>2021-10-05 11:19:26 +0900
commit12a4464bd385ae88c3f1044d771341cd134cb18c (patch)
treebc894f74357fd4fd95b8390715be799d2504d50f /tests
parent2fc41908f133c29cc9cbfd424391fe1f74859a2d (diff)
downloadDLT-daemon-12a4464bd385ae88c3f1044d771341cd134cb18c.tar.gz
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 <ssugiura@jp.adit-jv.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt131
-rw-r--r--tests/dlt-test-cpp-extension.cpp118
-rw-r--r--tests/dlt-test-preregister-context.c57
3 files changed, 68 insertions, 238 deletions
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()
diff --git a/tests/dlt-test-cpp-extension.cpp b/tests/dlt-test-cpp-extension.cpp
deleted file mode 100644
index eef0d8e..0000000
--- a/tests/dlt-test-cpp-extension.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * SPDX license identifier: MPL-2.0
- *
- * Copyright (C) 2015 Intel Corporation
- *
- * This file is part of GENIVI Project DLT - Diagnostic Log and Trace.
- *
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License (MPL), v. 2.0.
- * If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * For further information see http://www.genivi.org/.
- */
-
-/*!
- * \author Stefan Vacek <stefan.vacek@intel.com> Intel Corporation
- *
- * \copyright Copyright © 2015 Intel Corporation. \n
- * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.
- *
- * \file dlt-test-cpp-extension.cpp
- */
-
-#include "dlt_cpp_extension.hpp"
-#include <stdio.h>
-#include <string.h>
-#include "dlt_user_macros.h"
-
-struct MyStruct
-{
- int64_t uuid;
- int32_t interfaceId;
- int32_t registrationState;
-};
-
-template<>
-inline int logToDlt(DltContextData &log, MyStruct const &value)
-{
- int result = 0;
-
- result += dlt_user_log_write_string(&log, "(");
- result += logToDlt(log, value.uuid);
- result += dlt_user_log_write_string(&log, ",");
- result += logToDlt(log, value.interfaceId);
- result += dlt_user_log_write_string(&log, ",");
- result += logToDlt(log, value.registrationState);
- result += dlt_user_log_write_string(&log, ")");
-
- if (result != 0)
- result = -1;
-
- return result;
-}
-
-/**
- * Sample code to show usage of the cpp-extension
- * mainly the variadic templates
- */
-int main()
-{
- if (dlt_register_app("TCPP", "Test cpp extension") < 0) {
- printf("Failed to register application\n");
- return -1;
- }
-
- DltContext ctx;
-
- if (dlt_register_context_ll_ts(&ctx, "TCPP", "Test cpp extension", DLT_LOG_INFO, DLT_TRACE_STATUS_OFF) < 0) {
- printf("Failed to register context\n");
- return -1;
- }
-
- dlt_enable_local_print();
- dlt_verbose_mode();
-
- DLT_LOG(ctx, DLT_LOG_WARN, DLT_STRING("a message")); /* the classic way to go */
-
- int an_int = 42;
- float a_float = 22.7;
- DLT_LOG_FCN_CXX(ctx, DLT_LOG_WARN, "Testing DLT_LOG_CXX_FCN", an_int, a_float);
- DLT_LOG_CXX(ctx, DLT_LOG_WARN, 1.0, 65);
-
- /* Example for logging user-defined types */
- MyStruct myData = { 1u, 2u, 3u };
- DLT_LOG_CXX(ctx, DLT_LOG_WARN, "MyStruct myData", myData);
-
- char *non_const_string = (char *)malloc(17);
- memcpy(non_const_string, "non_const_string", 16);
- non_const_string[16] = 0;
- DLT_LOG_CXX(ctx, DLT_LOG_WARN, "char *", non_const_string);
-
- std::string aString = "std::string";
- DLT_LOG_CXX(ctx, DLT_LOG_WARN, "std::string", aString);
-
- std::vector<int> intVector;
- intVector.push_back(0);
- intVector.push_back(1);
- intVector.push_back(2);
- DLT_LOG_CXX(ctx, DLT_LOG_WARN, "vector", intVector);
-
- std::vector<double> doubleList;
- doubleList.push_back(10.);
- doubleList.push_back(11.);
- doubleList.push_back(12.);
- DLT_LOG_CXX(ctx, DLT_LOG_WARN, "list", doubleList);
-
- std::map<const char *, int> testMap;
- testMap["apple"] = 100;
- testMap["plum"] = 200;
- testMap["orange"] = 300;
- DLT_LOG_CXX(ctx, DLT_LOG_WARN, "map", testMap);
-
- dlt_unregister_context(&ctx);
- dlt_unregister_app();
-
- return 0;
-}
diff --git a/tests/dlt-test-preregister-context.c b/tests/dlt-test-preregister-context.c
deleted file mode 100644
index caa77f0..0000000
--- a/tests/dlt-test-preregister-context.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * SPDX license identifier: MPL-2.0
- *
- * Copyright (C) 2015 Intel Corporation
- *
- * This file is part of GENIVI Project DLT - Diagnostic Log and Trace.
- *
- * This Source Code Form is subject to the terms of the
- * Mozilla Public License (MPL), v. 2.0.
- * If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * For further information see http://www.genivi.org/.
- */
-
-/*!
- * \author Stefan Vacek <stefan.vacek@intel.com> Intel Corporation
- *
- * \copyright Copyright © 2015 Intel Corporation. \n
- * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/.
- *
- * \file dlt-test-preregister-context.c
- */
-
-#include <unistd.h> /* for fork() */
-
-#include "dlt.h"
-#include "dlt_user_macros.h"
-
-/**
- * @brief sample code for using pre-registered contexts
- */
-int main()
-{
- DltContext mainContext;
- struct timespec ts;
- ts.tv_sec = 0;
- ts.tv_nsec = 200000 * 1000;
-
- DLT_REGISTER_CONTEXT(mainContext, "CTXP", "main context");
-
- DLT_LOG(mainContext, DLT_LOG_WARN, DLT_STRING("First message before app registered"));
- nanosleep(&ts, NULL);
-
- DLT_LOG(mainContext, DLT_LOG_WARN, DLT_STRING("Second message before app registered"));
- nanosleep(&ts, NULL);
-
- DLT_REGISTER_APP("PRNT", "Sample pre-register application");
-
- DLT_LOG(mainContext, DLT_LOG_WARN, DLT_STRING("First message after app registered"));
- nanosleep(&ts, NULL);
-
- DLT_UNREGISTER_APP()
- ;
-
- return 0;
-}