set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) get_filename_component(root ${CMAKE_CURRENT_LIST_DIR}/../.. ABSOLUTE) include_directories("${gtest_SOURCE_DIR}/include") include_directories(${root}/src) include_directories(${root}/deps) include_directories(${root}/src/redisearch_rs/headers) include_directories(.) if (NOT TEST_MODULE) set(TEST_MODULE redisearch) endif() # redismock is a mock library for using redis module API in tests, defined in main CMakeLists.txt. include(GoogleTest) file(GLOB TEST_SOURCES "test_cpp_*.cpp") add_executable(rstest ${TEST_SOURCES} common.cpp index_utils.cpp llapi_test_helpers.cpp iterator_util.cpp stacktrace.cpp) target_link_libraries(rstest gtest ${TEST_MODULE} redismock ${CMAKE_LD_LIBS}) set_target_properties(rstest PROPERTIES LINKER_LANGUAGE CXX) add_dependencies(rstest example_extension) gtest_discover_tests(rstest PROPERTIES TIMEOUT 300 # Timeout for each individual test ) add_executable(test_distagg ${root}/tests/cpptests/test_distagg.cpp stacktrace.cpp) target_link_libraries(test_distagg ${TEST_MODULE} redismock) set_target_properties(test_distagg PROPERTIES COMPILE_FLAGS "-fvisibility=default") add_test(NAME test_distagg COMMAND test_distagg) # Add the coord_tests subdirectory add_subdirectory(coord_tests) file(GLOB BENCHMARK_SOURCES "benchmark_*.cpp") add_executable(rsbench ${BENCHMARK_SOURCES} index_utils.cpp llapi_test_helpers.cpp stacktrace.cpp) target_link_libraries(rsbench ${TEST_MODULE} redismock ${CMAKE_LD_LIBS} pthread) set_target_properties(rsbench PROPERTIES LINKER_LANGUAGE CXX)