| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # Tests for smartbotic-database
- # Vector storage integration test
- # Compiles memory_store.cpp directly — no dependency on the full service executable.
- set(TEST_VECTOR_SOURCES
- test_vector_storage.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/../service/src/memory_store.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/../service/src/config/collection_config_manager.cpp
- )
- add_executable(test_vector_storage ${TEST_VECTOR_SOURCES})
- target_include_directories(test_vector_storage PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/../service/src
- )
- # nlohmann/json
- if(TARGET nlohmann_json::nlohmann_json)
- target_link_libraries(test_vector_storage PRIVATE nlohmann_json::nlohmann_json)
- else()
- target_include_directories(test_vector_storage PRIVATE ${NLOHMANN_JSON_INCLUDE_DIRS})
- endif()
- # spdlog
- if(TARGET spdlog::spdlog)
- target_link_libraries(test_vector_storage PRIVATE spdlog::spdlog)
- else()
- target_link_libraries(test_vector_storage PRIVATE ${SPDLOG_LIBRARIES})
- target_include_directories(test_vector_storage PRIVATE ${SPDLOG_INCLUDE_DIRS})
- endif()
- # Threads (required by MemoryStore background threads)
- find_package(Threads REQUIRED)
- target_link_libraries(test_vector_storage PRIVATE Threads::Threads)
- # View projection unit test
- set(TEST_VIEWS_SOURCES
- test_views.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/../service/src/views/projection.cpp
- )
- add_executable(test_views ${TEST_VIEWS_SOURCES})
- target_include_directories(test_views PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/../service/src
- )
- # nlohmann/json
- if(TARGET nlohmann_json::nlohmann_json)
- target_link_libraries(test_views PRIVATE nlohmann_json::nlohmann_json)
- else()
- target_include_directories(test_views PRIVATE ${NLOHMANN_JSON_INCLUDE_DIRS})
- endif()
- # Per-collection timestamp precision test
- set(TEST_TIMESTAMP_PRECISION_SOURCES
- test_timestamp_precision.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/../service/src/memory_store.cpp
- ${CMAKE_CURRENT_SOURCE_DIR}/../service/src/config/collection_config_manager.cpp
- )
- add_executable(test_timestamp_precision ${TEST_TIMESTAMP_PRECISION_SOURCES})
- target_include_directories(test_timestamp_precision PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}/../service/src
- )
- if(TARGET nlohmann_json::nlohmann_json)
- target_link_libraries(test_timestamp_precision PRIVATE nlohmann_json::nlohmann_json)
- else()
- target_include_directories(test_timestamp_precision PRIVATE ${NLOHMANN_JSON_INCLUDE_DIRS})
- endif()
- if(TARGET spdlog::spdlog)
- target_link_libraries(test_timestamp_precision PRIVATE spdlog::spdlog)
- else()
- target_link_libraries(test_timestamp_precision PRIVATE ${SPDLOG_LIBRARIES})
- target_include_directories(test_timestamp_precision PRIVATE ${SPDLOG_INCLUDE_DIRS})
- endif()
- find_package(Threads REQUIRED)
- target_link_libraries(test_timestamp_precision PRIVATE Threads::Threads)
- # Register with CTest
- enable_testing()
- add_test(NAME vector_storage COMMAND test_vector_storage)
- add_test(NAME views COMMAND test_views)
- add_test(NAME timestamp_precision COMMAND test_timestamp_precision)
|