create TESTING
This commit is contained in:
@@ -62,3 +62,46 @@ target_include_directories(lidar_manager_web SYSTEM PRIVATE
|
||||
target_compile_definitions(lidar_manager_web PRIVATE
|
||||
_DEFAULT_SOURCE
|
||||
)
|
||||
|
||||
option(BUILD_TESTING "Build unit and integration test helpers" ON)
|
||||
|
||||
if(BUILD_TESTING)
|
||||
enable_testing()
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
googletest
|
||||
URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.tar.gz
|
||||
)
|
||||
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||
FetchContent_MakeAvailable(googletest)
|
||||
|
||||
set(LM_TEST_LIB_SOURCES
|
||||
src/util/file_util.cpp
|
||||
src/util/string_util.cpp
|
||||
src/util/id_util.cpp
|
||||
src/mission/mission_store.cpp
|
||||
src/mission/mission_enqueue.cpp
|
||||
src/validation/sensor_validator.cpp
|
||||
)
|
||||
|
||||
add_executable(lidar_manager_tests
|
||||
tests/test_mission_enqueue.cpp
|
||||
tests/test_mission_store.cpp
|
||||
tests/test_sensor_validator.cpp
|
||||
${LM_TEST_LIB_SOURCES}
|
||||
)
|
||||
|
||||
target_include_directories(lidar_manager_tests PRIVATE
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src"
|
||||
)
|
||||
target_include_directories(lidar_manager_tests SYSTEM PRIVATE
|
||||
"${nlohmann_json_SOURCE_DIR}/single_include"
|
||||
)
|
||||
target_compile_definitions(lidar_manager_tests PRIVATE
|
||||
TEST_FIXTURE_DIR="${CMAKE_CURRENT_SOURCE_DIR}/tests/fixtures/data"
|
||||
)
|
||||
target_link_libraries(lidar_manager_tests PRIVATE GTest::gtest_main)
|
||||
include(GoogleTest)
|
||||
gtest_discover_tests(lidar_manager_tests WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
add_test(NAME unit COMMAND lidar_manager_tests)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user