summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/ctest_fixtures/RunCMakeTest.cmake
blob: f13289a048c1833a636b167d04300c28618c97a8 (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
32
33
34
35
36
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)

#------------------------------------------------------------
# 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)