Criterion/samples/CMakeLists.txt

107 lines
2.9 KiB
Text
Raw Permalink Normal View History

2015-09-05 21:06:18 +02:00
if (NOT MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS_DEFAULT} -std=c99 -Wall -Wextra -pedantic")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEFAULT} -std=c++11 -Wall -Wextra -pedantic")
2015-09-05 21:06:18 +02:00
endif ()
2015-07-28 19:03:46 +02:00
include_directories(../include)
set(SAMPLES
signal.c
report.c
suites.c
fixtures.c
asserts.c
more-suites.c
description.c
simple.c
theories.c
2015-09-11 16:56:40 +02:00
timeout.c
2015-09-11 00:21:31 +02:00
redirect.c
2015-09-17 17:44:47 +02:00
parameterized.c
2015-07-28 19:03:46 +02:00
)
if (CMAKE_CXX_COMPILER_WORKS)
set(SAMPLES ${SAMPLES}
signal.cc
report.cc
suites.cc
fixtures.cc
asserts.cc
more-suites.cc
description.cc
simple.cc
theories.cc
redirect.cc
parameterized.cc
)
endif ()
2015-07-29 11:58:51 +02:00
set(SCRIPTS
tap_test
2015-10-06 14:58:46 +02:00
xml_test
2015-11-11 13:41:47 +01:00
json_test
2015-07-29 11:58:51 +02:00
early_exit
verbose
list
fail_fast
help
)
if (HAVE_PCRE)
set(SCRIPTS ${SCRIPTS} pattern)
endif ()
add_custom_target(criterion_samples)
add_dependencies(criterion_tests criterion_samples)
2015-09-09 01:47:10 +02:00
macro(add_samples DIR_ SAMPLES_)
foreach(sample ${SAMPLES_})
add_executable(${sample}.bin EXCLUDE_FROM_ALL ${sample})
add_dependencies(criterion_samples ${sample}.bin)
2015-09-09 01:47:10 +02:00
target_link_libraries(${sample}.bin criterion)
add_test(${sample} ${sample}.bin)
set_property(TEST ${sample} PROPERTY
ENVIRONMENT "CRITERION_ALWAYS_SUCCEED=1"
ENVIRONMENT "CRITERION_NO_EARLY_EXIT=1" # for coverage
)
2015-09-09 01:47:10 +02:00
if (NOT MSVC) # we disable the scripted tests when building with MSVC
add_test(${sample}_compare sh ${DIR_}/run_test.sh "${CMAKE_CURRENT_LIST_DIR}/outputs" . . ${sample}.bin)
2015-09-09 01:47:10 +02:00
set_property(TEST ${sample}_compare PROPERTY
ENVIRONMENT "LC_ALL=en_US.utf8"
ENVIRONMENT "CRITERION_ALWAYS_SUCCEED=1"
ENVIRONMENT "CRITERION_SHORT_FILENAME=1"
ENVIRONMENT "CRITERION_NO_EARLY_EXIT=1" # for coverage
ENVIRONMENT "CRITERION_JOBS=1" # for output ordering
ENVIRONMENT "CRITERION_DISABLE_TIME_MEASUREMENTS=1" # do not compare timings
2015-09-09 01:47:10 +02:00
)
endif ()
endforeach()
endmacro()
add_samples("${CMAKE_CURRENT_LIST_DIR}/tests" "${SAMPLES}")
2015-07-29 11:58:51 +02:00
if (NOT MSVC) # we disable the scripted tests when building with MSVC
2015-07-29 11:58:51 +02:00
foreach(script ${SCRIPTS})
2015-11-11 13:45:52 +01:00
add_test(${script} sh "${CMAKE_CURRENT_LIST_DIR}/tests/${script}.sh")
set_property(TEST ${script} PROPERTY
ENVIRONMENT "CRITERION_ALWAYS_SUCCEED=1"
ENVIRONMENT "CRITERION_NO_EARLY_EXIT=1" # for coverage
)
2015-11-11 13:45:52 +01:00
add_test(${script}_compare sh ${CMAKE_CURRENT_LIST_DIR}/tests/run_test.sh "${CMAKE_CURRENT_LIST_DIR}" . "${CMAKE_CURRENT_LIST_DIR}" "tests/${script}.sh")
set_property(TEST ${script}_compare PROPERTY
ENVIRONMENT "LC_ALL=en_US.utf8"
ENVIRONMENT "CRITERION_ALWAYS_SUCCEED=1"
ENVIRONMENT "CRITERION_SHORT_FILENAME=1"
ENVIRONMENT "CRITERION_NO_EARLY_EXIT=1" # for coverage
ENVIRONMENT "CRITERION_JOBS=1" # for output ordering
)
2015-07-28 19:03:46 +02:00
endforeach()
endif()
2015-09-09 01:47:10 +02:00
add_subdirectory(tests)