blob: e66c3d10a60aee21b854b36b5e174f86b89ab1fb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
set(COMMON_TEST_INCLUDES
${CMAKE_SOURCE_DIR}/include
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/uthash
)
set(COMMON_TEST_LIBS ucl)
set(TEST_ENV_VARS
"TEST_DIR=${CMAKE_SOURCE_DIR}/tests"
"TEST_OUT_DIR=${CMAKE_BINARY_DIR}/tests"
"TEST_BINARY_DIR=${CMAKE_BINARY_DIR}/tests"
)
macro(add_ucl_test testname sourcefile wrapper)
add_executable(${testname} ${sourcefile})
target_include_directories(${testname} PRIVATE ${COMMON_TEST_INCLUDES})
target_link_libraries(${testname} PRIVATE ${COMMON_TEST_LIBS})
IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
add_test(NAME ${testname} COMMAND ${CMAKE_SOURCE_DIR}/tests/${wrapper})
set_tests_properties(${testname} PROPERTIES ENVIRONMENT "${TEST_ENV_VARS}")
ENDIF()
endmacro()
# Build test binaries always (not just for testing)
add_ucl_test(test_basic test_basic.c basic.test)
add_ucl_test(test_speed test_speed.c speed.test)
add_ucl_test(test_schema test_schema.c schema.test)
add_ucl_test(test_msgpack test_msgpack.c msgpack.test)
add_ucl_test(test_generate test_generate.c generate.test)
|