123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- include(RunCTest)
- # Isolate our ctest runs from external environment.
- unset(ENV{CTEST_PARALLEL_LEVEL})
- unset(ENV{CTEST_OUTPUT_ON_FAILURE})
- function(run_ctest_test CASE_NAME)
- set(CASE_CTEST_FIXTURES_ARGS "${ARGN}")
- run_ctest(${CASE_NAME})
- endfunction()
- #------------------------------------------------------------
- # CMake configure will pass
- #------------------------------------------------------------
- run_ctest_test(one INCLUDE one)
- run_ctest_test(two INCLUDE two)
- run_ctest_test(three INCLUDE three)
- run_ctest_test(setupFoo INCLUDE setupFoo)
- run_ctest_test(wontRun INCLUDE wontRun)
- run_ctest_test(unused INCLUDE Unused)
- run_ctest_test(exclude_setup_foo
- INCLUDE "one|two"
- EXCLUDE_FIXTURE_SETUP "Foo"
- )
- run_ctest_test(exclude_setup_bar
- INCLUDE "one|two"
- EXCLUDE_FIXTURE_SETUP "Bar"
- )
- run_ctest_test(exclude_cleanup_foo
- INCLUDE "one|two"
- EXCLUDE_FIXTURE_CLEANUP "Foo"
- )
- run_ctest_test(exclude_cleanup_bar
- INCLUDE "one|two"
- EXCLUDE_FIXTURE_CLEANUP "Bar"
- )
- run_ctest_test(exclude_any_foo
- INCLUDE "one|two"
- EXCLUDE_FIXTURE "Foo"
- )
- run_ctest_test(exclude_any_bar
- INCLUDE "one|two"
- EXCLUDE_FIXTURE "Bar"
- )
- run_ctest_test(exclude_any_foobar
- INCLUDE "one|two"
- EXCLUDE_FIXTURE "Foo|Bar"
- )
- #------------------------------------------------------------
- # CMake configure will fail due to cyclic test dependencies
- #------------------------------------------------------------
- set(CASE_CMAKELISTS_CYCLIC_CODE [[
- set_tests_properties(cyclicSetup PROPERTIES
- FIXTURES_SETUP "Foo"
- FIXTURES_REQUIRED "Foo")
- ]])
- run_ctest(cyclicSetup)
- set(CASE_CMAKELISTS_CYCLIC_CODE [[
- set_tests_properties(cyclicCleanup PROPERTIES
- FIXTURES_CLEANUP "Foo"
- FIXTURES_REQUIRED "Foo")
- ]])
- run_ctest(cyclicCleanup)
- #------------------------------------------------------------
- # Repeat some of the exclusion tests with ctest command line
- # options instead of arguments to ctest_test(). This verifies
- # that the command line options make it through as well.
- #------------------------------------------------------------
- unset(CASE_CMAKELISTS_CYCLIC_CODE)
- set(CASE_CTEST_FIXTURES_ARGS "")
- run_ctest(exclude_setup_foo -R "one|two" -FS Foo)
- run_ctest(exclude_setup_foo -R "one|two" --fixture-exclude-setup Foo)
- run_ctest(exclude_cleanup_foo -R "one|two" -FC Foo)
- run_ctest(exclude_cleanup_foo -R "one|two" --fixture-exclude-cleanup Foo)
- run_ctest(exclude_any_foo -R "one|two" -FA Foo)
- run_ctest(exclude_any_foo -R "one|two" --fixture-exclude-any Foo)
|