Sat, 16 Apr 2022 14:47:27 +0200
migrate tree tests to gtest
1 # Transitional support for CTest written tests
2 message(CHECK_START "Searching for CUnit test framework")
4 find_path(CUNIT_INCLUDE_DIR NAMES CUnit/CUnit.h)
5 find_library(CUNIT_LIBRARY NAMES cunit libcunit cunitlib)
6 include(FindPackageHandleStandardArgs)
7 find_package_handle_standard_args(CUnit DEFAULT_MSG CUNIT_LIBRARY CUNIT_INCLUDE_DIR)
9 if (CUNIT_FOUND)
10 message(CHECK_PASS "found: compiling tests.")
11 set(TESTS
12 test_list
13 )
15 foreach (test ${TESTS})
16 add_executable(${test} ${test}.c)
17 target_link_libraries(${test} PRIVATE ucx_static ${CUNIT_LIBRARY})
18 target_include_directories(${test} PRIVATE ${CUNIT_INCLUDE_DIR})
19 add_test(NAME ${test} COMMAND ${test} WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
20 endforeach ()
21 else ()
22 message(CHECK_FAIL "not found: CUnit tests will not be available.")
23 endif ()
25 # Load Google Test Framework
26 set(CMAKE_CXX_STANDARD 11)
28 include(FetchContent)
29 FetchContent_Declare(
30 googletest
31 GIT_REPOSITORY https://github.com/google/googletest.git
32 GIT_TAG e2239ee6043f73722e7aa812a459f54a28552929 # release 1.11.0
33 )
34 # For Windows: Prevent overriding the parent project's compiler/linker settings
35 set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
36 FetchContent_MakeAvailable(googletest)
37 include(GoogleTest)
38 message(STATUS "Google Test made available")
40 add_executable(ucxtest
41 test_allocator.cpp
42 test_tree.cpp
43 selftest.cpp
44 )
45 target_link_libraries(ucxtest PRIVATE ucx_static gtest_main)
46 gtest_discover_tests(ucxtest)