Sat, 16 Apr 2022 08:49:31 +0200
migrate allocator 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 test_tree
14 )
16 foreach (test ${TESTS})
17 add_executable(${test} ${test}.c)
18 target_link_libraries(${test} PRIVATE ucx_static ${CUNIT_LIBRARY})
19 target_include_directories(${test} PRIVATE ${CUNIT_INCLUDE_DIR})
20 add_test(NAME ${test} COMMAND ${test} WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
21 endforeach ()
22 else ()
23 message(CHECK_FAIL "not found: CUnit tests will not be available.")
24 endif ()
26 # Load Google Test Framework
27 set(CMAKE_CXX_STANDARD 11)
29 include(FetchContent)
30 FetchContent_Declare(
31 googletest
32 GIT_REPOSITORY https://github.com/google/googletest.git
33 GIT_TAG e2239ee6043f73722e7aa812a459f54a28552929 # release 1.11.0
34 )
35 # For Windows: Prevent overriding the parent project's compiler/linker settings
36 set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
37 FetchContent_MakeAvailable(googletest)
38 include(GoogleTest)
39 message(STATUS "Google Test made available")
41 set(TESTS
42 selftest
43 test_allocator
44 )
45 foreach (test ${TESTS})
46 add_executable(${test} ${test}.cpp)
47 target_link_libraries(${test} PRIVATE ucx_static gtest_main)
48 gtest_discover_tests(${test})
49 endforeach ()