mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 08:20:18 -06:00
Tests: Add coverage of ctest_test RETURN_VALUE and REPEAT
This commit is contained in:
committed by
Brad King
parent
615129f3eb
commit
c503251997
@@ -81,8 +81,8 @@ run_TestOutputSize()
|
||||
run_ctest_test(TestRepeatBad1 REPEAT UNKNOWN:3)
|
||||
run_ctest_test(TestRepeatBad2 REPEAT UNTIL_FAIL:-1)
|
||||
|
||||
function(run_TestRepeat case)
|
||||
set(CASE_CTEST_TEST_ARGS EXCLUDE RunCMakeVersion ${ARGN})
|
||||
function(run_TestRepeat case return_value )
|
||||
set(CASE_CTEST_TEST_ARGS RETURN_VALUE result EXCLUDE RunCMakeVersion ${ARGN})
|
||||
string(CONCAT CASE_CMAKELISTS_SUFFIX_CODE [[
|
||||
add_test(NAME testRepeat
|
||||
COMMAND ${CMAKE_COMMAND} -D COUNT_FILE=${CMAKE_CURRENT_BINARY_DIR}/count.cmake
|
||||
@@ -91,7 +91,23 @@ set_property(TEST testRepeat PROPERTY TIMEOUT 5)
|
||||
]])
|
||||
|
||||
run_ctest(TestRepeat${case})
|
||||
|
||||
#write to end of the test file logic to Verify we get the expected
|
||||
#return code
|
||||
string(REPLACE "RETURN_VALUE:" "" return_value "${return_value}" )
|
||||
file(APPEND "${RunCMake_BINARY_DIR}/TestRepeat${case}/test.cmake"
|
||||
"
|
||||
|
||||
set(expected_result ${return_value})
|
||||
message(STATUS \${result})
|
||||
if(NOT result EQUAL expected_result)
|
||||
message(FATAL_ERROR \"expected a return value of: \${expected_result},
|
||||
instead got: \${result}\")
|
||||
endif()
|
||||
"
|
||||
)
|
||||
endfunction()
|
||||
run_TestRepeat(UntilFail REPEAT UNTIL_FAIL:3)
|
||||
run_TestRepeat(UntilPass REPEAT UNTIL_PASS:3)
|
||||
run_TestRepeat(AfterTimeout REPEAT AFTER_TIMEOUT:3)
|
||||
|
||||
run_TestRepeat(UntilFail RETURN_VALUE:1 REPEAT UNTIL_FAIL:3)
|
||||
run_TestRepeat(UntilPass RETURN_VALUE:0 REPEAT UNTIL_PASS:3)
|
||||
run_TestRepeat(AfterTimeout RETURN_VALUE:0 REPEAT AFTER_TIMEOUT:3)
|
||||
|
||||
Reference in New Issue
Block a user