You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.4 KiB
90 lines
3.4 KiB
8 years ago
|
include(RunCTest)
|
||
|
|
||
|
function(run_DisableNotRunTest)
|
||
|
set(CASE_CMAKELISTS_SUFFIX_CODE [[
|
||
|
add_test(NAME DisabledTest COMMAND notACommand --version)
|
||
|
add_test(NAME NotRunTest COMMAND invalidCommand --version)
|
||
|
|
||
|
set_tests_properties(SuccessfulTest PROPERTIES DISABLED false)
|
||
|
set_tests_properties(DisabledTest PROPERTIES DISABLED true)
|
||
|
]])
|
||
|
run_ctest(DisableNotRunTest)
|
||
|
endfunction()
|
||
|
run_DisableNotRunTest()
|
||
|
|
||
|
function(run_DisableFailingTest)
|
||
|
set(CASE_CMAKELISTS_SUFFIX_CODE [[
|
||
|
set(someFile "${CMAKE_CURRENT_SOURCE_DIR}/test.cmake")
|
||
|
add_test(NAME FailingTest
|
||
|
COMMAND ${CMAKE_COMMAND} -E compare_files "${someFile}" "${someFile}xxx")
|
||
|
add_test(NAME DisabledFailingTest
|
||
|
COMMAND ${CMAKE_COMMAND} -E compare_files "${someFile}" "${someFile}xxx")
|
||
|
|
||
|
set_tests_properties(FailingTest PROPERTIES DISABLED false)
|
||
|
set_tests_properties(DisabledFailingTest PROPERTIES DISABLED true)
|
||
|
]])
|
||
|
run_ctest(DisableFailingTest)
|
||
|
endfunction()
|
||
|
run_DisableFailingTest()
|
||
|
|
||
|
function(run_DisableSetupTest)
|
||
|
set(CASE_CMAKELISTS_SUFFIX_CODE [[
|
||
|
add_test(NAME DisabledTest COMMAND "${CMAKE_COMMAND}" --version)
|
||
|
add_test(NAME SuccessfulCleanupTest COMMAND "${CMAKE_COMMAND}" --version)
|
||
|
|
||
|
set_tests_properties(DisabledTest PROPERTIES DISABLED true
|
||
|
FIXTURES_SETUP "Foo")
|
||
|
set_tests_properties(SuccessfulTest PROPERTIES FIXTURES_REQUIRED "Foo")
|
||
|
set_tests_properties(SuccessfulCleanupTest PROPERTIES FIXTURES_CLEANUP "Foo")
|
||
|
]])
|
||
|
run_ctest(DisableSetupTest)
|
||
|
endfunction()
|
||
|
run_DisableSetupTest()
|
||
|
|
||
|
function(run_DisableRequiredTest)
|
||
|
set(CASE_CMAKELISTS_SUFFIX_CODE [[
|
||
|
add_test(NAME DisabledTest COMMAND "${CMAKE_COMMAND}" --version)
|
||
|
add_test(NAME SuccessfulCleanupTest COMMAND "${CMAKE_COMMAND}" --version)
|
||
|
|
||
|
set_tests_properties(SuccessfulTest PROPERTIES FIXTURES_SETUP "Foo")
|
||
|
set_tests_properties(DisabledTest PROPERTIES DISABLED true
|
||
|
FIXTURES_REQUIRED "Foo")
|
||
|
set_tests_properties(SuccessfulCleanupTest PROPERTIES FIXTURES_CLEANUP "Foo")
|
||
|
]])
|
||
|
run_ctest(DisableRequiredTest)
|
||
|
endfunction()
|
||
|
run_DisableRequiredTest()
|
||
|
|
||
|
function(run_DisableCleanupTest)
|
||
|
set(CASE_CMAKELISTS_SUFFIX_CODE [[
|
||
|
add_test(NAME CleanupTest COMMAND "${CMAKE_COMMAND}" --version)
|
||
|
|
||
|
set_tests_properties(SuccessfulTest PROPERTIES FIXTURES_REQUIRED "Foo")
|
||
|
set_tests_properties(CleanupTest PROPERTIES DISABLED true
|
||
|
FIXTURES_CLEANUP "Foo")
|
||
|
]])
|
||
|
run_ctest(DisableCleanupTest)
|
||
|
endfunction()
|
||
|
run_DisableCleanupTest()
|
||
|
|
||
|
# Consider a fixture that has a setup test, a cleanup test and a disabled test
|
||
|
# which requires that fixture. Limit the test list with a regular expression
|
||
|
# that matches the disabled test but not the setup or cleanup tests, so the
|
||
|
# initial set of tests to be executed contains just the disabled test. Since
|
||
|
# the only test requiring the fixture is disabled, CTest should not
|
||
|
# automatically add in the setup and cleanup tests for the fixture, since no
|
||
|
# enabled test requires them.
|
||
|
function(run_DisableAllTests)
|
||
|
set(CASE_CMAKELISTS_SUFFIX_CODE [[
|
||
|
add_test(NAME SetupTest COMMAND "${CMAKE_COMMAND}" --version)
|
||
|
add_test(NAME CleanupTest COMMAND "${CMAKE_COMMAND}" --version)
|
||
|
|
||
|
set_tests_properties(SetupTest PROPERTIES FIXTURES_SETUP "Foo")
|
||
|
set_tests_properties(SuccessfulTest PROPERTIES DISABLED true
|
||
|
FIXTURES_REQUIRED "Foo")
|
||
|
set_tests_properties(CleanupTest PROPERTIES FIXTURES_CLEANUP "Foo")
|
||
|
]])
|
||
|
run_ctest(DisableAllTests -R Successful)
|
||
|
endfunction()
|
||
|
run_DisableAllTests()
|