test/CMakeLists.txt

Sat, 16 Apr 2022 17:28:36 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 16 Apr 2022 17:28:36 +0200
changeset 516
7bcea73303ce
parent 515
6d3909bf1609
child 517
b3baaf9b7e3c
permissions
-rw-r--r--

fix required cast if compiled with C++

510
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
1 # Transitional support for CTest written tests
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
2 message(CHECK_START "Searching for CUnit test framework")
390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
3
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
4 find_path(CUNIT_INCLUDE_DIR NAMES CUnit/CUnit.h)
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
5 find_library(CUNIT_LIBRARY NAMES cunit libcunit cunitlib)
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
6 include(FindPackageHandleStandardArgs)
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
7 find_package_handle_standard_args(CUnit DEFAULT_MSG CUNIT_LIBRARY CUNIT_INCLUDE_DIR)
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
8
510
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
9 if (CUNIT_FOUND)
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
10 message(CHECK_PASS "found: compiling tests.")
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
11 set(TESTS
413
0f4aa9fc75d9 perform array and list tests in the same test binary (use the same assertions, later)
Mike Becker <universe@uap-core.de>
parents: 398
diff changeset
12 test_list
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
13 )
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
14
510
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
15 foreach (test ${TESTS})
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
16 add_executable(${test} ${test}.c)
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
17 target_link_libraries(${test} PRIVATE ucx_static ${CUNIT_LIBRARY})
395
dc1bfe5ffd38 fixes missing CUnit include dir
Mike Becker <universe@uap-core.de>
parents: 391
diff changeset
18 target_include_directories(${test} PRIVATE ${CUNIT_INCLUDE_DIR})
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
19 add_test(NAME ${test} COMMAND ${test} WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
510
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
20 endforeach ()
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
21 else ()
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
22 message(CHECK_FAIL "not found: CUnit tests will not be available.")
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
23 endif ()
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
24
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
25 # Load Google Test Framework
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
26 set(CMAKE_CXX_STANDARD 11)
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
27
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
28 include(FetchContent)
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
29 FetchContent_Declare(
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
30 googletest
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
31 GIT_REPOSITORY https://github.com/google/googletest.git
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
32 GIT_TAG e2239ee6043f73722e7aa812a459f54a28552929 # release 1.11.0
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
33 )
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
34 # For Windows: Prevent overriding the parent project's compiler/linker settings
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
35 set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
36 FetchContent_MakeAvailable(googletest)
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
37 include(GoogleTest)
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
38 message(STATUS "Google Test made available")
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
39
512
096d206b63f9 compile only one single binary for tests
Mike Becker <universe@uap-core.de>
parents: 511
diff changeset
40 add_executable(ucxtest
096d206b63f9 compile only one single binary for tests
Mike Becker <universe@uap-core.de>
parents: 511
diff changeset
41 test_allocator.cpp
515
6d3909bf1609 migrate tree tests to gtest
Mike Becker <universe@uap-core.de>
parents: 512
diff changeset
42 test_tree.cpp
512
096d206b63f9 compile only one single binary for tests
Mike Becker <universe@uap-core.de>
parents: 511
diff changeset
43 selftest.cpp
510
133ac0f8f3fc add googletest framework
Mike Becker <universe@uap-core.de>
parents: 427
diff changeset
44 )
512
096d206b63f9 compile only one single binary for tests
Mike Becker <universe@uap-core.de>
parents: 511
diff changeset
45 target_link_libraries(ucxtest PRIVATE ucx_static gtest_main)
096d206b63f9 compile only one single binary for tests
Mike Becker <universe@uap-core.de>
parents: 511
diff changeset
46 gtest_discover_tests(ucxtest)

mercurial