From 039ec160782a78f38775638820623bf8a44a0c32 Mon Sep 17 00:00:00 2001 From: Tomas Turina Date: Tue, 11 Feb 2025 21:19:02 +0000 Subject: [PATCH] enhancement: enable common libraries UT --- src/common/byteArrayHelper/CMakeLists.txt | 12 ++- .../byteArrayHelper/tests/CMakeLists.txt | 85 +++---------------- .../tests/byteArrayHelper_test.cpp | 10 +-- src/common/cmdHelper/CMakeLists.txt | 14 ++- src/common/cmdHelper/include/cmdHelper.h | 2 +- src/common/cmdHelper/tests/CMakeLists.txt | 85 +++---------------- src/common/config/CMakeLists.txt | 3 + src/common/data_provider/CMakeLists.txt | 60 ++++++------- src/common/data_provider/tests/CMakeLists.txt | 6 -- .../tests/sysInfo/CMakeLists.txt | 3 +- .../sysInfoNetworkWindows/CMakeLists.txt | 2 +- .../tests/sysInfoWin/CMakeLists.txt | 2 +- src/common/dbsync/CMakeLists.txt | 31 +++---- src/common/dbsync/example/CMakeLists.txt | 1 - .../dbsync/integrationTests/CMakeLists.txt | 6 -- .../integrationTests/fim/CMakeLists.txt | 5 +- src/common/dbsync/tests/CMakeLists.txt | 6 -- .../dbsync/tests/dbengine/CMakeLists.txt | 5 +- .../dbsync/tests/interface/CMakeLists.txt | 5 +- .../tests/pipelineFactory/CMakeLists.txt | 5 +- src/common/dbsync/tests/sqlite/CMakeLists.txt | 5 +- src/common/encodingHelper/CMakeLists.txt | 22 ++++- .../encodingHelper/tests/CMakeLists.txt | 84 +++--------------- .../tests/encodingWindows_test.cpp | 17 +--- .../tests/encodingWindows_test.h | 1 - src/common/fileHelper/CMakeLists.txt | 5 -- src/common/fileHelper/tests/CMakeLists.txt | 84 ------------------ src/common/file_helper/CMakeLists.txt | 3 +- .../file_helper/file_io/tests/CMakeLists.txt | 2 - .../filesystem/tests/CMakeLists.txt | 2 - src/common/globHelper/CMakeLists.txt | 12 ++- src/common/globHelper/tests/CMakeLists.txt | 85 +++---------------- src/common/hashHelper/CMakeLists.txt | 12 ++- src/common/hashHelper/tests/CMakeLists.txt | 85 +++---------------- .../hashHelper/tests/hashHelper_test.cpp | 6 +- src/common/hashHelper/tests/hashHelper_test.h | 1 - src/common/jsonHelper/CMakeLists.txt | 11 ++- src/common/linuxHelper/CMakeLists.txt | 22 ++++- src/common/linuxHelper/tests/CMakeLists.txt | 84 +++--------------- src/common/mapWrapper/CMakeLists.txt | 12 ++- src/common/mapWrapper/tests/CMakeLists.txt | 85 +++---------------- .../mapWrapper/tests/mapWrapperSafe_test.h | 1 - src/common/networkHelper/CMakeLists.txt | 11 ++- src/common/pal/CMakeLists.txt | 4 + src/common/pal/tests/windows/CMakeLists.txt | 1 + src/common/pipelineHelper/CMakeLists.txt | 16 +++- .../pipelineHelper/tests/CMakeLists.txt | 85 +++---------------- .../tests/pipelineNodes_test.cpp | 16 ++-- src/common/registryHelper/CMakeLists.txt | 22 ++++- .../registryHelper/tests/CMakeLists.txt | 84 +++--------------- src/common/sqliteWrapper/CMakeLists.txt | 13 ++- .../sqliteWrapper/include/sqliteWrapperTemp.h | 2 +- src/common/stringHelper/CMakeLists.txt | 12 ++- src/common/stringHelper/tests/CMakeLists.txt | 85 +++---------------- src/common/threadDispatcher/CMakeLists.txt | 16 +++- .../threadDispatcher/tests/CMakeLists.txt | 85 +++---------------- .../tests/threadDispatcher_test.cpp | 21 +++-- src/common/timeHelper/CMakeLists.txt | 14 ++- src/common/timeHelper/include/timeHelper.h | 2 +- src/common/timeHelper/tests/CMakeLists.txt | 85 +++---------------- src/common/utils/CMakeLists.txt | 9 ++ src/common/windowsHelper/CMakeLists.txt | 22 ++++- .../windowsHelper/include/windowsHelper.h | 2 +- src/common/windowsHelper/tests/CMakeLists.txt | 84 +++--------------- .../tests/windowsHelper_test.cpp | 10 +-- .../windowsHelper/tests/windowsHelper_test.h | 1 - src/modules/fim/CMakeLists.txt | 2 +- src/modules/fim/db/CMakeLists.txt | 2 +- src/modules/inventory/CMakeLists.txt | 23 ++--- src/modules/logcollector/CMakeLists.txt | 8 +- 70 files changed, 498 insertions(+), 1228 deletions(-) delete mode 100644 src/common/fileHelper/CMakeLists.txt delete mode 100644 src/common/fileHelper/tests/CMakeLists.txt diff --git a/src/common/byteArrayHelper/CMakeLists.txt b/src/common/byteArrayHelper/CMakeLists.txt index 352bfd0c00a..994ac6fbd6a 100644 --- a/src/common/byteArrayHelper/CMakeLists.txt +++ b/src/common/byteArrayHelper/CMakeLists.txt @@ -1,5 +1,15 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(byte_array_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(byte_array_helper INTERFACE) + +target_include_directories(byte_array_helper INTERFACE include) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/byteArrayHelper/tests/CMakeLists.txt b/src/common/byteArrayHelper/tests/CMakeLists.txt index 300bbbed978..01240be13cd 100644 --- a/src/common/byteArrayHelper/tests/CMakeLists.txt +++ b/src/common/byteArrayHelper/tests/CMakeLists.txt @@ -1,84 +1,21 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "byteArrayHelper_test.cpp" "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(byte_array_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(byte_array_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(byte_array_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(byte_array_helper_tests PRIVATE byte_array_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME byteArrayHelperTests COMMAND byte_array_helper_tests) diff --git a/src/common/byteArrayHelper/tests/byteArrayHelper_test.cpp b/src/common/byteArrayHelper/tests/byteArrayHelper_test.cpp index 78a3f80952d..4a1a39613bc 100644 --- a/src/common/byteArrayHelper/tests/byteArrayHelper_test.cpp +++ b/src/common/byteArrayHelper/tests/byteArrayHelper_test.cpp @@ -16,16 +16,16 @@ void ByteArrayHelperTest::SetUp() {}; void ByteArrayHelperTest::TearDown() {}; -constexpr uint8_t bufferBE[] = {0x12, 0x34, 0x56, 0x78}; -constexpr uint8_t bufferLE[] = {0x78, 0x56, 0x34, 0x12}; -constexpr int32_t result {305419896}; +constexpr uint8_t BUFFER_BE[] = {0x12, 0x34, 0x56, 0x78}; +constexpr uint8_t BUFFER_LE[] = {0x78, 0x56, 0x34, 0x12}; +constexpr int32_t RESULT {305419896}; TEST_F(ByteArrayHelperTest, toInt32BE) { - EXPECT_EQ(result, Utils::toInt32BE(bufferBE)); + EXPECT_EQ(RESULT, Utils::toInt32BE(BUFFER_BE)); } TEST_F(ByteArrayHelperTest, toInt32LE) { - EXPECT_EQ(result, Utils::toInt32LE(bufferLE)); + EXPECT_EQ(RESULT, Utils::toInt32LE(BUFFER_LE)); } diff --git a/src/common/cmdHelper/CMakeLists.txt b/src/common/cmdHelper/CMakeLists.txt index 352bfd0c00a..e8709324560 100644 --- a/src/common/cmdHelper/CMakeLists.txt +++ b/src/common/cmdHelper/CMakeLists.txt @@ -1,5 +1,17 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(cmd_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(cmd_helper INTERFACE) + +target_include_directories(cmd_helper INTERFACE include) + +target_link_libraries(cmd_helper INTERFACE pal) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/cmdHelper/include/cmdHelper.h b/src/common/cmdHelper/include/cmdHelper.h index 8202aa54ee3..b2bb90e77b5 100644 --- a/src/common/cmdHelper/include/cmdHelper.h +++ b/src/common/cmdHelper/include/cmdHelper.h @@ -16,7 +16,7 @@ #include #include #include -#include "../../pal/include/pal.h" +#include #ifdef __GNUC__ #pragma GCC diagnostic push diff --git a/src/common/cmdHelper/tests/CMakeLists.txt b/src/common/cmdHelper/tests/CMakeLists.txt index 8b1078ea0d0..438898167b4 100644 --- a/src/common/cmdHelper/tests/CMakeLists.txt +++ b/src/common/cmdHelper/tests/CMakeLists.txt @@ -1,84 +1,21 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "cmdHelper_test.cpp" "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(cmd_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(cmd_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(cmd_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(cmd_helper_tests PRIVATE cmd_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME cmdHelperTests COMMAND cmd_helper_tests) diff --git a/src/common/config/CMakeLists.txt b/src/common/config/CMakeLists.txt index ae1ef38c3c0..6c241b1c0b0 100644 --- a/src/common/config/CMakeLists.txt +++ b/src/common/config/CMakeLists.txt @@ -2,6 +2,9 @@ cmake_minimum_required(VERSION 3.22) project(Config) +include(../../cmake/CommonSettings.cmake) +set_common_settings() + add_library(Config INTERFACE) include(../../cmake/config.cmake) diff --git a/src/common/data_provider/CMakeLists.txt b/src/common/data_provider/CMakeLists.txt index 295b9bfbf22..cf667572cc1 100644 --- a/src/common/data_provider/CMakeLists.txt +++ b/src/common/data_provider/CMakeLists.txt @@ -2,13 +2,15 @@ cmake_minimum_required(VERSION 3.22) project(sysinfo) +include(../../cmake/CommonSettings.cmake) +set_common_settings() + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() -enable_testing() - get_filename_component(SRC_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/../../ ABSOLUTE) +get_filename_component(COMMON_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/../ ABSOLUTE) if(COVERITY) add_definitions(-D__GNUC__=8) @@ -88,24 +90,7 @@ include_directories(${POPT_INCLUDE_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/) -include_directories(${SRC_FOLDER}/common/) -include_directories(${SRC_FOLDER}/common/byteArrayHelper/include/) -include_directories(${SRC_FOLDER}/common/cmdHelper/include/) -include_directories(${SRC_FOLDER}/common/globHelper/include/) -include_directories(${SRC_FOLDER}/common/jsonHelper/include/) -include_directories(${SRC_FOLDER}/common/linuxHelper/include/) -include_directories(${SRC_FOLDER}/common/networkHelper/include/) -include_directories(${SRC_FOLDER}/common/sqliteWrapper/include/) -include_directories(${SRC_FOLDER}/common/stringHelper/include/) -include_directories(${SRC_FOLDER}/common/timeHelper/include/) - -if(WIN32) - include_directories(${SRC_FOLDER}/common/encodingHelper/include/) - include_directories(${SRC_FOLDER}/common/registryHelper/include/) - include_directories(${SRC_FOLDER}/common/windowsHelper/include/) -endif() - -get_filename_component(COMMON_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/../ ABSOLUTE) +include_directories(${COMMON_FOLDER}) link_directories(${SRC_FOLDER}) @@ -155,7 +140,25 @@ add_library(sysinfo STATIC ${SRC_FOLDER}/${RESOURCE_OBJ}) target_include_directories(sysinfo PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include/) -target_link_libraries(sysinfo PUBLIC FilesystemWrapper FileIO) + +target_link_libraries(sysinfo PUBLIC + byte_array_helper + cmd_helper + FilesystemWrapper + FileIO + glob_helper + json_helper + network_helper + sqlite_wrapper + string_helper + time_helper +) + +if(WIN32) + target_link_libraries(sysinfo PUBLIC encoding_helper registry_helper windows_helper) +else() + target_link_libraries(sysinfo PUBLIC linux_helper) +endif() if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(sysinfo PUBLIC psapi iphlpapi ws2_32) @@ -202,22 +205,19 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") ) endif(CMAKE_SYSTEM_NAME STREQUAL "Linux") -target_link_libraries(sysinfo PUBLIC +target_link_libraries(sysinfo PRIVATE unofficial::sqlite3::sqlite3) if(BUILD_TESTS) if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(sysinfo PRIVATE -fprofile-arcs) - else() - target_link_libraries(sysinfo PRIVATE gcov) - endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - + enable_testing() add_subdirectory(tests) endif(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") -else() +endif(BUILD_TESTS) + +if(NOT DEFINED COVERITY AND NOT DEFINED BUILD_TESTS) if(FSANITIZE) target_link_libraries(sysinfo PRIVATE gcov) endif(FSANITIZE) add_subdirectory(testtool) -endif(BUILD_TESTS) +endif(NOT DEFINED COVERITY AND NOT DEFINED BUILD_TESTS) diff --git a/src/common/data_provider/tests/CMakeLists.txt b/src/common/data_provider/tests/CMakeLists.txt index 522c24a6aea..d00a506bef6 100644 --- a/src/common/data_provider/tests/CMakeLists.txt +++ b/src/common/data_provider/tests/CMakeLists.txt @@ -23,11 +23,5 @@ if(HAS_FILESYSTEM OR CMAKE_SYSTEM_NAME STREQUAL "Windows") add_subdirectory(sysInfoPackages) endif() -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - string(APPEND CMAKE_EXE_LINKER_FLAGS " -fprofile-arcs ") -else() - string(APPEND CMAKE_EXE_LINKER_FLAGS " -lgcov ") -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_subdirectory(sysInfo) add_subdirectory(sysInfoPorts) diff --git a/src/common/data_provider/tests/sysInfo/CMakeLists.txt b/src/common/data_provider/tests/sysInfo/CMakeLists.txt index 02be61ed095..f0503f017c3 100644 --- a/src/common/data_provider/tests/sysInfo/CMakeLists.txt +++ b/src/common/data_provider/tests/sysInfo/CMakeLists.txt @@ -16,6 +16,7 @@ add_executable(sysinfo_unit_test ${SYSINFO_SRC}) if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(sysinfo_unit_test PRIVATE + sysinfo GTest::gtest GTest::gmock GTest::gtest_main @@ -24,10 +25,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") unofficial::sqlite3::sqlite3 cjson utils - -static-libgcc ) else() target_link_libraries(sysinfo_unit_test PRIVATE + sysinfo GTest::gtest GTest::gmock GTest::gtest_main diff --git a/src/common/data_provider/tests/sysInfoNetworkWindows/CMakeLists.txt b/src/common/data_provider/tests/sysInfoNetworkWindows/CMakeLists.txt index a61649612e9..e150dcd0581 100644 --- a/src/common/data_provider/tests/sysInfoNetworkWindows/CMakeLists.txt +++ b/src/common/data_provider/tests/sysInfoNetworkWindows/CMakeLists.txt @@ -15,6 +15,7 @@ add_executable(sysInfoNetworkWindows_unit_test ${SYSINFO_SRC}) target_link_libraries(sysInfoNetworkWindows_unit_test + sysinfo debug gtestd debug gmockd debug gtest_maind @@ -26,7 +27,6 @@ target_link_libraries(sysInfoNetworkWindows_unit_test pthread sqlite3 cjson - -static-libgcc ) add_test(NAME sysInfoNetworkWindows_unit_test diff --git a/src/common/data_provider/tests/sysInfoWin/CMakeLists.txt b/src/common/data_provider/tests/sysInfoWin/CMakeLists.txt index ba331b2a473..ccc623a16d7 100644 --- a/src/common/data_provider/tests/sysInfoWin/CMakeLists.txt +++ b/src/common/data_provider/tests/sysInfoWin/CMakeLists.txt @@ -11,6 +11,7 @@ file(GLOB sysinfo_UNIT_TEST_SRC ${sysinfo_UNIT_TEST_SRC}) target_link_libraries(sysInfoWindows_unit_test + sysinfo debug gtestd debug gmockd debug gtest_maind @@ -22,7 +23,6 @@ target_link_libraries(sysInfoWindows_unit_test pthread sqlite3 cjson - -static-libgcc ) add_test(NAME sysInfoWindows_unit_test diff --git a/src/common/dbsync/CMakeLists.txt b/src/common/dbsync/CMakeLists.txt index a359a703f64..18aa92bdfae 100644 --- a/src/common/dbsync/CMakeLists.txt +++ b/src/common/dbsync/CMakeLists.txt @@ -2,21 +2,22 @@ cmake_minimum_required(VERSION 3.22) project(dbsync) -enable_testing() +include(../../cmake/CommonSettings.cmake) +set_common_settings() if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif() -get_filename_component(COMMON_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/../ ABSOLUTE) get_filename_component(SRC_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/../../ ABSOLUTE) +get_filename_component(COMMON_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/../ ABSOLUTE) if(COVERITY) add_definitions(-D__GNUC__=8) endif(COVERITY) if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wshadow -Wnon-virtual-dtor -Woverloaded-virtual -Wunused -Wcast-align -Wformat=2 -std=c++14 -pthread") + set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wshadow -Wnon-virtual-dtor -Woverloaded-virtual -Wunused -Wcast-align -Wformat=2") set(CMAKE_CXX_FLAGS_DEBUG "-g") if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(CMAKE_CXX_FLAGS_RELEASE "-O3") @@ -28,7 +29,7 @@ if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") set(CMAKE_CXX_FLAGS_DEBUG "-g -fsanitize=address,leak,undefined") endif(FSANITIZE) else() - set(CMAKE_CXX_FLAGS "/W4 /permissive- /std:c++14 /MT /EHsc") + set(CMAKE_CXX_FLAGS "/W4 /permissive- /MT /EHsc") endif() set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) @@ -50,10 +51,6 @@ find_package(unofficial-sqlite3 CONFIG REQUIRED) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include/) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/) include_directories(${COMMON_FOLDER}) -include_directories(${COMMON_FOLDER}/mapWrapper/include/) -include_directories(${COMMON_FOLDER}/pipelineHelper/include/) -include_directories(${COMMON_FOLDER}/stringHelper/include/) -include_directories(${COMMON_FOLDER}/threadDispatcher/include/) add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) @@ -67,16 +64,20 @@ add_library(dbsync STATIC ${DBSYNC_SRC} ${SRC_FOLDER}/${RESOURCE_OBJ}) -target_link_libraries(dbsync PUBLIC utils nlohmann_json::nlohmann_json cjson unofficial::sqlite3::sqlite3 pal) +target_include_directories(dbsync PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include/) + +target_link_libraries(dbsync PUBLIC + map_wrapper + pipeline_helper + string_helper + thread_dispatcher +) + +target_link_libraries(dbsync PUBLIC utils nlohmann_json::nlohmann_json cjson pal PRIVATE unofficial::sqlite3::sqlite3) if(BUILD_TESTS) if(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") - if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(dbsync PRIVATE -fprofile-arcs) - else() - target_link_libraries(dbsync PRIVATE gcov) - endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - + enable_testing() add_subdirectory(tests) add_subdirectory(integrationTests) endif(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows") diff --git a/src/common/dbsync/example/CMakeLists.txt b/src/common/dbsync/example/CMakeLists.txt index 8603ec85a42..d1f73378052 100644 --- a/src/common/dbsync/example/CMakeLists.txt +++ b/src/common/dbsync/example/CMakeLists.txt @@ -21,7 +21,6 @@ add_executable(dbsync_example if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(dbsync_example dbsync - -static-libgcc ) else() target_link_libraries(dbsync_example diff --git a/src/common/dbsync/integrationTests/CMakeLists.txt b/src/common/dbsync/integrationTests/CMakeLists.txt index 15713dae317..a58c60850ff 100644 --- a/src/common/dbsync/integrationTests/CMakeLists.txt +++ b/src/common/dbsync/integrationTests/CMakeLists.txt @@ -6,10 +6,4 @@ include_directories(${CMAKE_SOURCE_DIR}/include/) find_package(GTest CONFIG REQUIRED) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - string(APPEND CMAKE_EXE_LINKER_FLAGS " -fprofile-arcs ") -else() - string(APPEND CMAKE_EXE_LINKER_FLAGS " -lgcov ") -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_subdirectory(fim) diff --git a/src/common/dbsync/integrationTests/fim/CMakeLists.txt b/src/common/dbsync/integrationTests/fim/CMakeLists.txt index d83bd995569..dcc7c4729ed 100644 --- a/src/common/dbsync/integrationTests/fim/CMakeLists.txt +++ b/src/common/dbsync/integrationTests/fim/CMakeLists.txt @@ -20,6 +20,7 @@ add_executable(fim_integration_test if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(fim_integration_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -28,11 +29,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") unofficial::sqlite3::sqlite3 pthread utils - pal - -static-libgcc ) else() target_link_libraries(fim_integration_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -42,7 +42,6 @@ else() pthread dl utils - pal ) endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") add_test(NAME fim_integration_test diff --git a/src/common/dbsync/tests/CMakeLists.txt b/src/common/dbsync/tests/CMakeLists.txt index a8e147c9505..bdd16af3af6 100644 --- a/src/common/dbsync/tests/CMakeLists.txt +++ b/src/common/dbsync/tests/CMakeLists.txt @@ -7,12 +7,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../src/sqlite/) find_package(GTest CONFIG REQUIRED) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - string(APPEND CMAKE_EXE_LINKER_FLAGS " -fprofile-arcs ") -else() - string(APPEND CMAKE_EXE_LINKER_FLAGS " -lgcov ") -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - add_subdirectory(sqlite) add_subdirectory(interface) add_subdirectory(pipelineFactory) diff --git a/src/common/dbsync/tests/dbengine/CMakeLists.txt b/src/common/dbsync/tests/dbengine/CMakeLists.txt index 82fb6023c14..16e34be2dd0 100644 --- a/src/common/dbsync/tests/dbengine/CMakeLists.txt +++ b/src/common/dbsync/tests/dbengine/CMakeLists.txt @@ -27,6 +27,7 @@ add_executable(dbengine_unit_test ${SQLITE_ENGINE_SRC}) if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(dbengine_unit_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -35,11 +36,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") cjson pthread utils - pal - -static-libgcc ) else() target_link_libraries(dbengine_unit_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -49,7 +49,6 @@ else() pthread dl utils - pal ) endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") diff --git a/src/common/dbsync/tests/interface/CMakeLists.txt b/src/common/dbsync/tests/interface/CMakeLists.txt index dc82f77c94d..74588327847 100644 --- a/src/common/dbsync/tests/interface/CMakeLists.txt +++ b/src/common/dbsync/tests/interface/CMakeLists.txt @@ -17,6 +17,7 @@ add_executable(dbsync_unit_test ${INTERFACE_UNITTEST_SRC} ) if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(dbsync_unit_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -25,11 +26,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") cjson pthread utils - pal - -static-libgcc ) else() target_link_libraries(dbsync_unit_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -39,7 +39,6 @@ else() pthread dl utils - pal ) endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") diff --git a/src/common/dbsync/tests/pipelineFactory/CMakeLists.txt b/src/common/dbsync/tests/pipelineFactory/CMakeLists.txt index ba48058f288..782ef54cf62 100644 --- a/src/common/dbsync/tests/pipelineFactory/CMakeLists.txt +++ b/src/common/dbsync/tests/pipelineFactory/CMakeLists.txt @@ -23,6 +23,7 @@ add_executable(dbsyncPipelineFactory_unit_test ${PIPELINE_FACTORY_SRC}) if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(dbsyncPipelineFactory_unit_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -31,11 +32,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") unofficial::sqlite3::sqlite3 cjson utils - pal - -static-libgcc ) else() target_link_libraries(dbsyncPipelineFactory_unit_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -45,7 +45,6 @@ else() cjson dl utils - pal ) endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") diff --git a/src/common/dbsync/tests/sqlite/CMakeLists.txt b/src/common/dbsync/tests/sqlite/CMakeLists.txt index 0168e5c02ab..38337361822 100644 --- a/src/common/dbsync/tests/sqlite/CMakeLists.txt +++ b/src/common/dbsync/tests/sqlite/CMakeLists.txt @@ -17,6 +17,7 @@ add_executable(sqlite_unit_test ${SQLITE_SRC}) if(CMAKE_SYSTEM_NAME STREQUAL "Windows") target_link_libraries(sqlite_unit_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -25,11 +26,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows") unofficial::sqlite3::sqlite3 cjson utils - pal - -static-libgcc ) else() target_link_libraries(sqlite_unit_test + dbsync GTest::gtest GTest::gmock GTest::gtest_main @@ -39,7 +39,6 @@ else() cjson dl utils - pal ) endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") diff --git a/src/common/encodingHelper/CMakeLists.txt b/src/common/encodingHelper/CMakeLists.txt index 352bfd0c00a..64279ad7aa2 100644 --- a/src/common/encodingHelper/CMakeLists.txt +++ b/src/common/encodingHelper/CMakeLists.txt @@ -1,5 +1,21 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) - add_subdirectory(tests) -endif() +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") + project(encoding_helper) + + include(../../cmake/CommonSettings.cmake) + set_common_settings() + + add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) + + add_library(encoding_helper INTERFACE) + + target_include_directories(encoding_helper INTERFACE include) + + target_link_libraries(encoding_helper INTERFACE) + + if(BUILD_TESTS) + enable_testing() + add_subdirectory(tests) + endif() +endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") diff --git a/src/common/encodingHelper/tests/CMakeLists.txt b/src/common/encodingHelper/tests/CMakeLists.txt index c9c30ac2177..c00fe802ca3 100644 --- a/src/common/encodingHelper/tests/CMakeLists.txt +++ b/src/common/encodingHelper/tests/CMakeLists.txt @@ -1,6 +1,4 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC "encodingWindows_test.cpp" @@ -10,76 +8,18 @@ file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(encoding_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} + ${UTIL_CXX_UNITTEST_WINDOWS_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(encoding_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(encoding_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(encoding_helper_tests PRIVATE encoding_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME encodingHelperTests COMMAND encoding_helper_tests) diff --git a/src/common/encodingHelper/tests/encodingWindows_test.cpp b/src/common/encodingHelper/tests/encodingWindows_test.cpp index 261338b708c..701fe95d441 100644 --- a/src/common/encodingHelper/tests/encodingWindows_test.cpp +++ b/src/common/encodingHelper/tests/encodingWindows_test.cpp @@ -11,7 +11,7 @@ #ifdef WIN32 #include "encodingWindows_test.h" #include "encodingWindowsHelper.h" -#include "json.hpp" +#include void EncodingWindowsHelperTest::SetUp() {}; @@ -21,22 +21,13 @@ TEST_F(EncodingWindowsHelperTest, NoExceptConversion) { nlohmann::json test; std::wstring wideString = L"Eines de correcció del Microsoft Office 2016: català"; - std::string multibyteString; - multibyteString.assign(wideString.begin(), wideString.end()); + int bufferSize = WideCharToMultiByte(CP_UTF8, 0, wideString.c_str(), -1, nullptr, 0, nullptr, nullptr); + std::string multibyteString(bufferSize, 0); + WideCharToMultiByte(CP_UTF8, 0, wideString.c_str(), -1, &multibyteString[0], bufferSize, nullptr, nullptr); test["correct"] = Utils::EncodingWindowsHelper::stringAnsiToStringUTF8(multibyteString); EXPECT_NO_THROW(test.dump()); } -TEST_F(EncodingWindowsHelperTest, ExceptWithoutConversion) -{ - nlohmann::json test; - std::wstring wideString = L"Eines de correcció del Microsoft Office 2016: català"; - std::string multibyteString; - multibyteString.assign(wideString.begin(), wideString.end()); - test["incorrect"] = multibyteString; - EXPECT_ANY_THROW(test.dump()); -} - TEST_F(EncodingWindowsHelperTest, ReturnValueEmptyConversion) { EXPECT_EQ(Utils::EncodingWindowsHelper::stringAnsiToStringUTF8(""), ""); diff --git a/src/common/encodingHelper/tests/encodingWindows_test.h b/src/common/encodingHelper/tests/encodingWindows_test.h index a31870b3131..46bbaed6432 100644 --- a/src/common/encodingHelper/tests/encodingWindows_test.h +++ b/src/common/encodingHelper/tests/encodingWindows_test.h @@ -12,7 +12,6 @@ #ifndef ENCODING_WINDOWS_HELPER_TEST_H #define ENCODING_WINDOWS_HELPER_TEST_H #include "gtest/gtest.h" -#include "gmock/gmock.h" class EncodingWindowsHelperTest : public ::testing::Test { diff --git a/src/common/fileHelper/CMakeLists.txt b/src/common/fileHelper/CMakeLists.txt deleted file mode 100644 index 352bfd0c00a..00000000000 --- a/src/common/fileHelper/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -cmake_minimum_required(VERSION 3.22) - -if(UNIT_TEST) - add_subdirectory(tests) -endif() diff --git a/src/common/fileHelper/tests/CMakeLists.txt b/src/common/fileHelper/tests/CMakeLists.txt deleted file mode 100644 index 513b9818e5c..00000000000 --- a/src/common/fileHelper/tests/CMakeLists.txt +++ /dev/null @@ -1,84 +0,0 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) - -file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC - "filesystemHelper_test.cpp" - "main.cpp" -) - -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() - - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) - - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") - -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - -add_test(NAME utils_unit_test - COMMAND utils_unit_test) diff --git a/src/common/file_helper/CMakeLists.txt b/src/common/file_helper/CMakeLists.txt index ae22286a261..7796bff0808 100644 --- a/src/common/file_helper/CMakeLists.txt +++ b/src/common/file_helper/CMakeLists.txt @@ -3,9 +3,10 @@ cmake_minimum_required(VERSION 3.22) project(FileHandler) include(../../cmake/CommonSettings.cmake) -include(../../cmake/ConfigureTarget.cmake) set_common_settings() +include(../../cmake/ConfigureTarget.cmake) + # FilesystemWrapper target add_library(FilesystemWrapper STATIC ${CMAKE_CURRENT_SOURCE_DIR}/filesystem/src/filesystem_wrapper.cpp) target_include_directories(FilesystemWrapper PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/filesystem/include) diff --git a/src/common/file_helper/file_io/tests/CMakeLists.txt b/src/common/file_helper/file_io/tests/CMakeLists.txt index bc41cc7f975..c07c4378636 100644 --- a/src/common/file_helper/file_io/tests/CMakeLists.txt +++ b/src/common/file_helper/file_io/tests/CMakeLists.txt @@ -1,7 +1,5 @@ find_package(GTest CONFIG REQUIRED) -include(../../../../cmake/ConfigureTarget.cmake) - add_executable(file_io_test file_io_test.cpp) configure_target(file_io_test) target_include_directories(file_io_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../src) diff --git a/src/common/file_helper/filesystem/tests/CMakeLists.txt b/src/common/file_helper/filesystem/tests/CMakeLists.txt index e7cf9b34f30..818e63c9c3c 100644 --- a/src/common/file_helper/filesystem/tests/CMakeLists.txt +++ b/src/common/file_helper/filesystem/tests/CMakeLists.txt @@ -1,7 +1,5 @@ find_package(GTest CONFIG REQUIRED) -include(../../../../cmake/ConfigureTarget.cmake) - add_executable(filesystem_test filesystem_test.cpp) configure_target(filesystem_test) target_include_directories(filesystem_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../src) diff --git a/src/common/globHelper/CMakeLists.txt b/src/common/globHelper/CMakeLists.txt index 352bfd0c00a..348d8d8c935 100644 --- a/src/common/globHelper/CMakeLists.txt +++ b/src/common/globHelper/CMakeLists.txt @@ -1,5 +1,15 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(glob_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(glob_helper INTERFACE) + +target_include_directories(glob_helper INTERFACE include) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/globHelper/tests/CMakeLists.txt b/src/common/globHelper/tests/CMakeLists.txt index 230e66025fc..6bb1db5fb75 100644 --- a/src/common/globHelper/tests/CMakeLists.txt +++ b/src/common/globHelper/tests/CMakeLists.txt @@ -1,84 +1,21 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "globHelper_test.cpp" "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(glob_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(glob_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(glob_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(glob_helper_tests PRIVATE glob_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME globHelperTests COMMAND glob_helper_tests) diff --git a/src/common/hashHelper/CMakeLists.txt b/src/common/hashHelper/CMakeLists.txt index 352bfd0c00a..f312364017e 100644 --- a/src/common/hashHelper/CMakeLists.txt +++ b/src/common/hashHelper/CMakeLists.txt @@ -1,5 +1,15 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(hash_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(hash_helper INTERFACE) + +target_include_directories(hash_helper INTERFACE include) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/hashHelper/tests/CMakeLists.txt b/src/common/hashHelper/tests/CMakeLists.txt index 52885d8b323..bfec28412cb 100644 --- a/src/common/hashHelper/tests/CMakeLists.txt +++ b/src/common/hashHelper/tests/CMakeLists.txt @@ -1,84 +1,23 @@ -cmake_minimum_required(VERSION 3.22) +find_package(GTest CONFIG REQUIRED) -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "hashHelper_test.cpp" "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(hash_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(hash_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(hash_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(hash_helper_tests PRIVATE hash_helper GTest::gtest OpenSSL::SSL OpenSSL::Crypto) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME hashHelperTests COMMAND hash_helper_tests) diff --git a/src/common/hashHelper/tests/hashHelper_test.cpp b/src/common/hashHelper/tests/hashHelper_test.cpp index 51be579a81e..c14f3b39437 100644 --- a/src/common/hashHelper/tests/hashHelper_test.cpp +++ b/src/common/hashHelper/tests/hashHelper_test.cpp @@ -17,8 +17,6 @@ void HashHelperTest::SetUp() {}; void HashHelperTest::TearDown() {}; -using ::testing::_; -using ::testing::Return; using namespace Utils; // Path where the test files reside. @@ -99,7 +97,7 @@ TEST_F(HashHelperTest, HashFile) const std::vector expectedHash { 0x2e, 0x95, 0xd7, 0x58, 0x2c, 0x53, 0x58, 0x3f, 0xa8, 0xaf, 0xb5, 0x4e, 0x0f, 0xe7, 0xa2, 0x59, 0x7c, 0x92, 0xcb, 0xba}; - EXPECT_EQ(Utils::hashFile(TEST_FILE), expectedHash); + EXPECT_EQ(Utils::hashFile(TEST_FILE.generic_string()), expectedHash); } /** @@ -108,5 +106,5 @@ TEST_F(HashHelperTest, HashFile) */ TEST_F(HashHelperTest, HashFileInexistantFile) { - EXPECT_THROW(Utils::hashFile(INPUT_FILES_DIR / "inexistant_file.xml"), std::runtime_error); + EXPECT_THROW(Utils::hashFile((INPUT_FILES_DIR / "inexistant_file.xml").generic_string()), std::runtime_error); } diff --git a/src/common/hashHelper/tests/hashHelper_test.h b/src/common/hashHelper/tests/hashHelper_test.h index 726d1d1f450..ec162352258 100644 --- a/src/common/hashHelper/tests/hashHelper_test.h +++ b/src/common/hashHelper/tests/hashHelper_test.h @@ -12,7 +12,6 @@ #ifndef HASH_HELPER_TESTS_H #define HASH_HELPER_TESTS_H #include "gtest/gtest.h" -#include "gmock/gmock.h" class HashHelperTest : public ::testing::Test { diff --git a/src/common/jsonHelper/CMakeLists.txt b/src/common/jsonHelper/CMakeLists.txt index 352bfd0c00a..2dca07efd25 100644 --- a/src/common/jsonHelper/CMakeLists.txt +++ b/src/common/jsonHelper/CMakeLists.txt @@ -1,5 +1,10 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) - add_subdirectory(tests) -endif() +project(json_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(json_helper INTERFACE) + +target_include_directories(json_helper INTERFACE include) diff --git a/src/common/linuxHelper/CMakeLists.txt b/src/common/linuxHelper/CMakeLists.txt index 352bfd0c00a..08924399a7b 100644 --- a/src/common/linuxHelper/CMakeLists.txt +++ b/src/common/linuxHelper/CMakeLists.txt @@ -1,5 +1,21 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) - add_subdirectory(tests) -endif() +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + project(linux_helper) + + include(../../cmake/CommonSettings.cmake) + set_common_settings() + + add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) + + add_library(linux_helper INTERFACE) + + target_include_directories(linux_helper INTERFACE include) + + target_link_libraries(linux_helper INTERFACE cmd_helper FileIO string_helper) + + if(BUILD_TESTS) + enable_testing() + add_subdirectory(tests) + endif() +endif(CMAKE_SYSTEM_NAME STREQUAL "Linux") diff --git a/src/common/linuxHelper/tests/CMakeLists.txt b/src/common/linuxHelper/tests/CMakeLists.txt index 321604de4fc..4347a6ac4c4 100644 --- a/src/common/linuxHelper/tests/CMakeLists.txt +++ b/src/common/linuxHelper/tests/CMakeLists.txt @@ -1,8 +1,4 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "main.cpp" @@ -12,74 +8,18 @@ file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC "linuxInfoHelper_test.cpp" ) -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(linux_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} + ${UTIL_CXX_UNITTEST_LINUX_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(linux_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(linux_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(linux_helper_tests PRIVATE linux_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME linuxHelperTests COMMAND linux_helper_tests) diff --git a/src/common/mapWrapper/CMakeLists.txt b/src/common/mapWrapper/CMakeLists.txt index 352bfd0c00a..a58d274bb30 100644 --- a/src/common/mapWrapper/CMakeLists.txt +++ b/src/common/mapWrapper/CMakeLists.txt @@ -1,5 +1,15 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(map_wrapper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(map_wrapper INTERFACE) + +target_include_directories(map_wrapper INTERFACE include) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/mapWrapper/tests/CMakeLists.txt b/src/common/mapWrapper/tests/CMakeLists.txt index 9c12a04c2ae..81c573524ea 100644 --- a/src/common/mapWrapper/tests/CMakeLists.txt +++ b/src/common/mapWrapper/tests/CMakeLists.txt @@ -1,84 +1,21 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "mapWrapperSafe_test.cpp" "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(map_wrapper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(map_wrapper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(map_wrapper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(map_wrapper_tests PRIVATE map_wrapper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME mapWrapperTests COMMAND map_wrapper_tests) diff --git a/src/common/mapWrapper/tests/mapWrapperSafe_test.h b/src/common/mapWrapper/tests/mapWrapperSafe_test.h index b5646281bbd..b02ca440f15 100644 --- a/src/common/mapWrapper/tests/mapWrapperSafe_test.h +++ b/src/common/mapWrapper/tests/mapWrapperSafe_test.h @@ -12,7 +12,6 @@ #ifndef MAP_WRAPPER_SAFE_TESTS_H #define MAP_WRAPPER_SAFE_TESTS_H #include "gtest/gtest.h" -#include "gmock/gmock.h" class MapWrapperSafeTest : public ::testing::Test { diff --git a/src/common/networkHelper/CMakeLists.txt b/src/common/networkHelper/CMakeLists.txt index 352bfd0c00a..7c0bb8bac2a 100644 --- a/src/common/networkHelper/CMakeLists.txt +++ b/src/common/networkHelper/CMakeLists.txt @@ -1,5 +1,10 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) - add_subdirectory(tests) -endif() +project(network_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(network_helper INTERFACE) + +target_include_directories(network_helper INTERFACE include) diff --git a/src/common/pal/CMakeLists.txt b/src/common/pal/CMakeLists.txt index a5301adee0c..508184b527b 100644 --- a/src/common/pal/CMakeLists.txt +++ b/src/common/pal/CMakeLists.txt @@ -1,6 +1,10 @@ cmake_minimum_required(VERSION 3.22) + project(pal) +include(../../cmake/CommonSettings.cmake) +set_common_settings() + if(WIN32) set(OS_NAME "windows") elseif(APPLE) diff --git a/src/common/pal/tests/windows/CMakeLists.txt b/src/common/pal/tests/windows/CMakeLists.txt index 43a2ab129d4..7c204922e22 100644 --- a/src/common/pal/tests/windows/CMakeLists.txt +++ b/src/common/pal/tests/windows/CMakeLists.txt @@ -1,6 +1,7 @@ find_package(GTest CONFIG REQUIRED) add_executable(PalTime_test pal_time_test.cpp) +configure_target(PalTime_test) target_include_directories(PalTime_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../include) target_link_libraries(PalTime_test PRIVATE pal GTest::gtest GTest::gtest_main) add_test(NAME PalTimeTest COMMAND PalTime_test) diff --git a/src/common/pipelineHelper/CMakeLists.txt b/src/common/pipelineHelper/CMakeLists.txt index 352bfd0c00a..64142757afc 100644 --- a/src/common/pipelineHelper/CMakeLists.txt +++ b/src/common/pipelineHelper/CMakeLists.txt @@ -1,5 +1,19 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(pipeline_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) + +add_library(pipeline_helper INTERFACE) + +target_include_directories(pipeline_helper INTERFACE include) + +target_link_libraries(pipeline_helper INTERFACE utils thread_dispatcher) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/pipelineHelper/tests/CMakeLists.txt b/src/common/pipelineHelper/tests/CMakeLists.txt index c2cd0c37e0f..df2fba985bc 100644 --- a/src/common/pipelineHelper/tests/CMakeLists.txt +++ b/src/common/pipelineHelper/tests/CMakeLists.txt @@ -1,84 +1,21 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "pipelineNodes_test.cpp" "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(pipeline_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(pipeline_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(pipeline_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(pipeline_helper_tests PRIVATE pipeline_helper GTest::gtest GTest::gmock) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME pipelineHelperTests COMMAND pipeline_helper_tests) diff --git a/src/common/pipelineHelper/tests/pipelineNodes_test.cpp b/src/common/pipelineHelper/tests/pipelineNodes_test.cpp index 3acbf32f908..c11d5b866ed 100644 --- a/src/common/pipelineHelper/tests/pipelineNodes_test.cpp +++ b/src/common/pipelineHelper/tests/pipelineNodes_test.cpp @@ -21,12 +21,18 @@ class FunctorWrapper public: FunctorWrapper() = default; ~FunctorWrapper() = default; + + FunctorWrapper(const FunctorWrapper&) = delete; + FunctorWrapper& operator=(const FunctorWrapper&) = delete; + FunctorWrapper(FunctorWrapper&&) = delete; + FunctorWrapper& operator=(FunctorWrapper&&) = delete; + MOCK_METHOD(void, Operator, (const int), ()); void operator()(const int value) { Operator(value); } - void receive(const int& value) + void receive(const int& value) // NOLINT(readability-identifier-naming) { Operator(value); } @@ -151,12 +157,12 @@ TEST_F(PipelineNodesTest, ConnectInvalidPtrs3) template static void ReadNodeBehaviour(FunctorWrapper& functor, T& rNode) { - for (int i = 0; i < 10; ++i) + for (int i = 0; i < 10; ++i) // NOLINT(cppcoreguidelines-avoid-magic-numbers) { EXPECT_CALL(functor, Operator(i)); } - for (int i = 0; i < 10; ++i) + for (int i = 0; i < 10; ++i) // NOLINT(cppcoreguidelines-avoid-magic-numbers) { rNode.receive(i); } @@ -171,12 +177,12 @@ static void ReadWriteNodeBehaviour(FunctorWrapper& functor, std::shared_ptr& { Utils::connect(spReadWriteNode, spReadNode); - for (int i = 0; i < 10; ++i) + for (int i = 0; i < 10; ++i) // NOLINT(cppcoreguidelines-avoid-magic-numbers) { EXPECT_CALL(functor, Operator(i)); } - for (int i = 0; i < 10; ++i) + for (int i = 0; i < 10; ++i) // NOLINT(cppcoreguidelines-avoid-magic-numbers) { spReadWriteNode->receive(std::to_string(i)); } diff --git a/src/common/registryHelper/CMakeLists.txt b/src/common/registryHelper/CMakeLists.txt index 352bfd0c00a..f0cd6e046c6 100644 --- a/src/common/registryHelper/CMakeLists.txt +++ b/src/common/registryHelper/CMakeLists.txt @@ -1,5 +1,21 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) - add_subdirectory(tests) -endif() +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") + project(registry_helper) + + include(../../cmake/CommonSettings.cmake) + set_common_settings() + + add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) + + add_library(registry_helper INTERFACE) + + target_include_directories(registry_helper INTERFACE include) + + target_link_libraries(registry_helper INTERFACE encoding_helper glob_helper string_helper time_helper windows_helper) + + if(BUILD_TESTS) + enable_testing() + add_subdirectory(tests) + endif() +endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") diff --git a/src/common/registryHelper/tests/CMakeLists.txt b/src/common/registryHelper/tests/CMakeLists.txt index dbb1bec88da..975de34ffc1 100644 --- a/src/common/registryHelper/tests/CMakeLists.txt +++ b/src/common/registryHelper/tests/CMakeLists.txt @@ -1,6 +1,4 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC "registryHelper_test.cpp" @@ -10,76 +8,18 @@ file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(registry_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} + ${UTIL_CXX_UNITTEST_WINDOWS_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(registry_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(registry_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(registry_helper_tests PRIVATE registry_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME registryHelperTests COMMAND registry_helper_tests) diff --git a/src/common/sqliteWrapper/CMakeLists.txt b/src/common/sqliteWrapper/CMakeLists.txt index 352bfd0c00a..6c3e09c1805 100644 --- a/src/common/sqliteWrapper/CMakeLists.txt +++ b/src/common/sqliteWrapper/CMakeLists.txt @@ -1,5 +1,12 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) - add_subdirectory(tests) -endif() +project(sqlite_wrapper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(sqlite_wrapper INTERFACE) + +target_include_directories(sqlite_wrapper INTERFACE include) + +target_link_libraries(sqlite_wrapper INTERFACE pal) diff --git a/src/common/sqliteWrapper/include/sqliteWrapperTemp.h b/src/common/sqliteWrapper/include/sqliteWrapperTemp.h index ac3bc165f4e..def57fb00ea 100644 --- a/src/common/sqliteWrapper/include/sqliteWrapperTemp.h +++ b/src/common/sqliteWrapper/include/sqliteWrapperTemp.h @@ -21,7 +21,7 @@ #include #include #include -#include "../../pal/include/pal.h" +#include using DBSyncExceptionType = const std::pair; diff --git a/src/common/stringHelper/CMakeLists.txt b/src/common/stringHelper/CMakeLists.txt index 352bfd0c00a..7bc24939fc8 100644 --- a/src/common/stringHelper/CMakeLists.txt +++ b/src/common/stringHelper/CMakeLists.txt @@ -1,5 +1,15 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(string_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(string_helper INTERFACE) + +target_include_directories(string_helper INTERFACE include) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/stringHelper/tests/CMakeLists.txt b/src/common/stringHelper/tests/CMakeLists.txt index 9e9aae40b3c..0982f7d82ed 100644 --- a/src/common/stringHelper/tests/CMakeLists.txt +++ b/src/common/stringHelper/tests/CMakeLists.txt @@ -1,84 +1,21 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "stringHelper_test.cpp" "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(string_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(string_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(string_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(string_helper_tests PRIVATE string_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME stringHelperTests COMMAND string_helper_tests) diff --git a/src/common/threadDispatcher/CMakeLists.txt b/src/common/threadDispatcher/CMakeLists.txt index 352bfd0c00a..7f8f131424b 100644 --- a/src/common/threadDispatcher/CMakeLists.txt +++ b/src/common/threadDispatcher/CMakeLists.txt @@ -1,5 +1,19 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(thread_dispatcher) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) + +add_library(thread_dispatcher INTERFACE) + +target_include_directories(thread_dispatcher INTERFACE include ../) + +target_link_libraries(thread_dispatcher INTERFACE utils) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/threadDispatcher/tests/CMakeLists.txt b/src/common/threadDispatcher/tests/CMakeLists.txt index 32e40002702..e8f4bccc17a 100644 --- a/src/common/threadDispatcher/tests/CMakeLists.txt +++ b/src/common/threadDispatcher/tests/CMakeLists.txt @@ -1,8 +1,4 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "threadDispatcher_test.cpp" @@ -10,76 +6,17 @@ file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(thread_dispatcher_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(thread_dispatcher_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(thread_dispatcher_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(thread_dispatcher_tests PRIVATE thread_dispatcher GTest::gtest GTest::gmock) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME threadDispatcherTests COMMAND thread_dispatcher_tests) diff --git a/src/common/threadDispatcher/tests/threadDispatcher_test.cpp b/src/common/threadDispatcher/tests/threadDispatcher_test.cpp index d106193ff9a..9e8b285c6a8 100644 --- a/src/common/threadDispatcher/tests/threadDispatcher_test.cpp +++ b/src/common/threadDispatcher/tests/threadDispatcher_test.cpp @@ -18,15 +18,20 @@ void ThreadDispatcherTest::SetUp() {}; void ThreadDispatcherTest::TearDown() {}; -using ::testing::_; using namespace Utils; // LCOV_EXCL_START class FunctorWrapper { public: - FunctorWrapper() {} - ~FunctorWrapper() {} + FunctorWrapper() = default; + ~FunctorWrapper() = default; + + FunctorWrapper(const FunctorWrapper&) = delete; + FunctorWrapper(FunctorWrapper&&) = delete; + FunctorWrapper& operator=(const FunctorWrapper&) = delete; + FunctorWrapper& operator=(FunctorWrapper&&) = delete; + MOCK_METHOD(void, Operator, (const int), ()); void operator()(const int value) { @@ -44,12 +49,12 @@ TEST_F(ThreadDispatcherTest, AsyncDispatcherPushAndRundown) }; EXPECT_EQ(std::thread::hardware_concurrency(), dispatcher.numberOfThreads()); - for (int i = 0; i < 10; ++i) + for (int i = 0; i < 10; ++i) // NOLINT(cppcoreguidelines-avoid-magic-numbers) { EXPECT_CALL(functor, Operator(i)); } - for (int i = 0; i < 10; ++i) + for (int i = 0; i < 10; ++i) // NOLINT(cppcoreguidelines-avoid-magic-numbers) { dispatcher.push(i); } @@ -69,7 +74,7 @@ TEST_F(ThreadDispatcherTest, AsyncDispatcherCancel) EXPECT_EQ(std::thread::hardware_concurrency(), dispatcher.numberOfThreads()); dispatcher.cancel(); - for (int i = 0; i < 10; ++i) + for (int i = 0; i < 10; ++i) // NOLINT(cppcoreguidelines-avoid-magic-numbers) { EXPECT_CALL(functor, Operator(i)).Times(0); dispatcher.push(i); @@ -94,13 +99,13 @@ TEST_F(ThreadDispatcherTest, AsyncDispatcherQueue) { [&mutex, &condition, &firstCall](int) { - std::unique_lock lock(mutex); + std::unique_lock lock2(mutex); condition.notify_one(); if (firstCall) { firstCall = false; - condition.wait(lock); + condition.wait(lock2); } } , NUMBER_OF_THREADS diff --git a/src/common/timeHelper/CMakeLists.txt b/src/common/timeHelper/CMakeLists.txt index 352bfd0c00a..2abcde61f68 100644 --- a/src/common/timeHelper/CMakeLists.txt +++ b/src/common/timeHelper/CMakeLists.txt @@ -1,5 +1,17 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) +project(time_helper) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + +add_library(time_helper INTERFACE) + +target_include_directories(time_helper INTERFACE include) + +target_link_libraries(time_helper INTERFACE string_helper pal) + +if(BUILD_TESTS) + enable_testing() add_subdirectory(tests) endif() diff --git a/src/common/timeHelper/include/timeHelper.h b/src/common/timeHelper/include/timeHelper.h index 3eb6942ecea..e21d40e5942 100644 --- a/src/common/timeHelper/include/timeHelper.h +++ b/src/common/timeHelper/include/timeHelper.h @@ -18,7 +18,7 @@ #include #include #include -#include "../../pal/include/pal.h" +#include namespace Utils { diff --git a/src/common/timeHelper/tests/CMakeLists.txt b/src/common/timeHelper/tests/CMakeLists.txt index 7a74a01facc..e74460d51f0 100644 --- a/src/common/timeHelper/tests/CMakeLists.txt +++ b/src/common/timeHelper/tests/CMakeLists.txt @@ -1,84 +1,21 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) - -file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "timeHelper_test.cpp" "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(time_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(time_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(time_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(time_helper_tests PRIVATE time_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME timeHelperTests COMMAND time_helper_tests) diff --git a/src/common/utils/CMakeLists.txt b/src/common/utils/CMakeLists.txt index 90f48c47640..11c9b790afa 100644 --- a/src/common/utils/CMakeLists.txt +++ b/src/common/utils/CMakeLists.txt @@ -1,3 +1,12 @@ +cmake_minimum_required(VERSION 3.22) + +project(utils) + +include(../../cmake/CommonSettings.cmake) +set_common_settings() + add_library(utils INTERFACE) + target_include_directories(utils INTERFACE include) + target_link_libraries(utils INTERFACE Logger) diff --git a/src/common/windowsHelper/CMakeLists.txt b/src/common/windowsHelper/CMakeLists.txt index 352bfd0c00a..d4496a593cc 100644 --- a/src/common/windowsHelper/CMakeLists.txt +++ b/src/common/windowsHelper/CMakeLists.txt @@ -1,5 +1,21 @@ cmake_minimum_required(VERSION 3.22) -if(UNIT_TEST) - add_subdirectory(tests) -endif() +if(CMAKE_SYSTEM_NAME STREQUAL "Windows") + project(windows_helper) + + include(../../cmake/CommonSettings.cmake) + set_common_settings() + + add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) + + add_library(windows_helper INTERFACE) + + target_include_directories(windows_helper INTERFACE include) + + target_link_libraries(windows_helper INTERFACE encoding_helper string_helper time_helper pal) + + if(BUILD_TESTS) + enable_testing() + add_subdirectory(tests) + endif() +endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") diff --git a/src/common/windowsHelper/include/windowsHelper.h b/src/common/windowsHelper/include/windowsHelper.h index 94e191e2a47..79173c766ca 100644 --- a/src/common/windowsHelper/include/windowsHelper.h +++ b/src/common/windowsHelper/include/windowsHelper.h @@ -28,7 +28,7 @@ #include "stringHelper.h" #include "encodingWindowsHelper.h" #include "timeHelper.h" -#include "../../pal/include/pal.h" +#include #include #ifdef _MSC_VER diff --git a/src/common/windowsHelper/tests/CMakeLists.txt b/src/common/windowsHelper/tests/CMakeLists.txt index 17dae0ed02e..3791a8395ca 100644 --- a/src/common/windowsHelper/tests/CMakeLists.txt +++ b/src/common/windowsHelper/tests/CMakeLists.txt @@ -1,6 +1,4 @@ -cmake_minimum_required(VERSION 3.22) - -project(utils_unit_test) +find_package(GTest CONFIG REQUIRED) file(GLOB UTIL_CXX_UNITTEST_WINDOWS_SRC "windowsHelper_test.cpp" @@ -10,76 +8,18 @@ file(GLOB UTIL_CXX_UNITTEST_COMMON_SRC "main.cpp" ) -file(GLOB UTIL_CXX_UNITTEST_LINUX_SRC) - -file(COPY input_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -link_directories(${SRC_FOLDER}/external/googletest/lib) -link_directories(${SRC_FOLDER}/external/libarchive/.libs/) - -if(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - add_definitions(-DPROMISE_TYPE=PromiseType::SLEEP) -else() - add_definitions(-DPROMISE_TYPE=PromiseType::NORMAL) -endif(CMAKE_SYSTEM_NAME STREQUAL "HP-UX") - -if(CMAKE_SYSTEM_NAME STREQUAL "Windows") - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_WINDOWS_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - add_definitions(-DWIN32=1 - -D_WIN32_WINNT=0x600) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - pthread - crypto - ssl - -static-libgcc - ws2_32 - crypt32 - ) -else() +add_executable(windows_helper_tests + ${UTIL_CXX_UNITTEST_COMMON_SRC} + ${UTIL_CXX_UNITTEST_WINDOWS_SRC} +) - if (APPLE) - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - else() - add_executable(utils_unit_test - ${UTIL_CXX_UNITTEST_COMMON_SRC} - ${UTIL_CXX_UNITTEST_LINUX_SRC} - ${UTIL_CXX_UNITTEST_CPP17_SRC} - ) - endif(APPLE) +include(../../../cmake/ConfigureTarget.cmake) +configure_target(windows_helper_tests) - target_link_libraries(utils_unit_test - debug gtestd - debug gmockd - optimized gtest - optimized gmock - rocksdb - crypto - dl - pthread - rt - lzma - z - minizip - archive - ) -endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") +target_include_directories(windows_helper_tests PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/../include +) -if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_libraries(utils_unit_test -fprofile-arcs) -else() - target_link_libraries(utils_unit_test gcov) -endif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +target_link_libraries(windows_helper_tests PRIVATE windows_helper GTest::gtest) -add_test(NAME utils_unit_test - COMMAND utils_unit_test) +add_test(NAME windowsHelperTests COMMAND windows_helper_tests) diff --git a/src/common/windowsHelper/tests/windowsHelper_test.cpp b/src/common/windowsHelper/tests/windowsHelper_test.cpp index 8d7718e463e..d340e062b6a 100644 --- a/src/common/windowsHelper/tests/windowsHelper_test.cpp +++ b/src/common/windowsHelper/tests/windowsHelper_test.cpp @@ -134,7 +134,7 @@ TEST_F(WindowsHelperTest, getSerialNumberFromSMBIOSRealData_TEST) std::string serialNumber; const auto smbios { reinterpret_cast(rawData.data()) }; - serialNumber = Utils::getSerialNumberFromSmbios(smbios->SMBIOSTableData, size); + serialNumber = Utils::getSerialNumberFromSmbios(smbios->SMBIOSTableData, static_cast(size)); EXPECT_EQ(SERIAL_NUMBER_DATA, serialNumber); } @@ -145,7 +145,7 @@ TEST_F(WindowsHelperTest, getSerialNumberFromSMBIOSCorruptedData1_TEST) constexpr auto SERIAL_NUMBER_DATA { "" }; std::string serialNumber; - serialNumber = Utils::getSerialNumberFromSmbios(rawData.data(), size); + serialNumber = Utils::getSerialNumberFromSmbios(rawData.data(), static_cast(size)); EXPECT_EQ(SERIAL_NUMBER_DATA, serialNumber); } @@ -157,7 +157,7 @@ TEST_F(WindowsHelperTest, getSerialNumberFromSMBIOSCorruptedData2_TEST) constexpr auto SERIAL_NUMBER_DATA { "" }; std::string serialNumber; - serialNumber = Utils::getSerialNumberFromSmbios(rawData.data(), size); + serialNumber = Utils::getSerialNumberFromSmbios(rawData.data(), static_cast(size)); EXPECT_EQ(SERIAL_NUMBER_DATA, serialNumber); } @@ -169,7 +169,7 @@ TEST_F(WindowsHelperTest, getSerialNumberFromSMBIOSTablesNoEndDoubleNull_TEST) constexpr auto SERIAL_NUMBER_DATA { "" }; std::string serialNumber; - serialNumber = Utils::getSerialNumberFromSmbios(rawData.data(), size); + serialNumber = Utils::getSerialNumberFromSmbios(rawData.data(), static_cast(size)); EXPECT_EQ(SERIAL_NUMBER_DATA, serialNumber); } @@ -180,7 +180,7 @@ TEST_F(WindowsHelperTest, getSerialNumberFromSMBIOSTables2NoEndDoubleNull_TEST) constexpr auto SERIAL_NUMBER_DATA { "Serial test" }; std::string serialNumber; - serialNumber = Utils::getSerialNumberFromSmbios(rawData.data(), size); + serialNumber = Utils::getSerialNumberFromSmbios(rawData.data(), static_cast(size)); EXPECT_EQ(SERIAL_NUMBER_DATA, serialNumber); } diff --git a/src/common/windowsHelper/tests/windowsHelper_test.h b/src/common/windowsHelper/tests/windowsHelper_test.h index c235c670367..6a19309100c 100644 --- a/src/common/windowsHelper/tests/windowsHelper_test.h +++ b/src/common/windowsHelper/tests/windowsHelper_test.h @@ -12,7 +12,6 @@ #ifndef WINDOWS_HELPER_TEST_H #define WINDOWS_HELPER_TEST_H #include "gtest/gtest.h" -#include "gmock/gmock.h" class WindowsHelperTest : public ::testing::Test { diff --git a/src/modules/fim/CMakeLists.txt b/src/modules/fim/CMakeLists.txt index 8f79c2645a1..e5589e4b56c 100644 --- a/src/modules/fim/CMakeLists.txt +++ b/src/modules/fim/CMakeLists.txt @@ -111,7 +111,7 @@ if (UNIX) endif(NOT APPLE) endif(UNIX) -if(UNIT_TEST) +if(BUILD_TESTS) add_definitions(-DWAZUH_UNIT_TESTING) if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") target_link_libraries(wazuh-syscheckd -fprofile-arcs cmocka) diff --git a/src/modules/fim/db/CMakeLists.txt b/src/modules/fim/db/CMakeLists.txt index 4a5d9b9e675..fa84fe050ed 100644 --- a/src/modules/fim/db/CMakeLists.txt +++ b/src/modules/fim/db/CMakeLists.txt @@ -87,7 +87,7 @@ add_custom_command(TARGET fimdb POST_BUILD COMMENT "Creating delayed load library for fimdb.") endif(CMAKE_SYSTEM_NAME STREQUAL "Windows") -if(UNIT_TEST) +if(BUILD_TESTS) if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") target_link_libraries(fimdb -fprofile-arcs) else() diff --git a/src/modules/inventory/CMakeLists.txt b/src/modules/inventory/CMakeLists.txt index d23a04c7130..552471fdfaf 100644 --- a/src/modules/inventory/CMakeLists.txt +++ b/src/modules/inventory/CMakeLists.txt @@ -23,33 +23,28 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") target_compile_options(Inventory PRIVATE /WX-) endif() -target_include_directories(Inventory PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR}/../include - ${COMMON_FOLDER} - ${COMMON_FOLDER}/data_provider/include - ${COMMON_FOLDER}/dbsync/include - ${COMMON_FOLDER}/hashHelper/include - ${COMMON_FOLDER}/stringHelper/include - ${COMMON_FOLDER}/timeHelper/include) +target_include_directories(Inventory PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) target_link_libraries(Inventory PUBLIC + ModuleManager + ConfigurationParser + MessageEntry + CommandEntry dbsync sysinfo + hash_helper + string_helper + time_helper + utils nlohmann_json::nlohmann_json OpenSSL::SSL OpenSSL::Crypto - utils - ConfigurationParser - MessageEntry - CommandEntry Boost::asio PRIVATE Config Logger cjson - pal ) include(../../cmake/ConfigureTarget.cmake) diff --git a/src/modules/logcollector/CMakeLists.txt b/src/modules/logcollector/CMakeLists.txt index 00ece3d4478..77019eb316a 100644 --- a/src/modules/logcollector/CMakeLists.txt +++ b/src/modules/logcollector/CMakeLists.txt @@ -45,10 +45,6 @@ add_library(Logcollector ${LOGCOLLECTOR_SOURCES}) target_include_directories(Logcollector PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include - ${CMAKE_CURRENT_SOURCE_DIR}/../include - ${COMMON_FOLDER} - ${COMMON_FOLDER}/stringHelper/include - ${COMMON_FOLDER}/timeHelper/include PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/src/file_reader/include @@ -59,9 +55,12 @@ target_include_directories(Logcollector PUBLIC target_link_libraries(Logcollector PUBLIC + ModuleManager ConfigurationParser MessageEntry CommandEntry + string_helper + time_helper Boost::asio nlohmann_json::nlohmann_json PRIVATE @@ -69,7 +68,6 @@ target_link_libraries(Logcollector $<$:OSLogStoreWrapper> $<$:fmt::fmt> Logger - pal $<$:systemd> )