Enable overriding contract test timeout values.
Use a longer value as the default timeout (6 hours). For a per-contract-test timeout value, set ${project}_TEST_TIMEOUT in the project's RunTest.cmake file. To use a longer value for all non-specific contract tests, set a CMake cache variable named CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT. All timeout values are in seconds. Also, patch up last commit to defer evaluation of ENV{HOME} until EnforceConfig.cmake is included at ctest time. This allows Windows machines to have "\\" characters in the HOME environment variable if they want to.
This commit is contained in:
parent
c81ad34e85
commit
1e4fd5fc9c
|
@ -23,7 +23,7 @@ IF(DEFINED ENV{HOME} AND NOT CTEST_NO_TEST_HOME)
|
|||
SET(TEST_HOME_ENV_CODE "# Fake a user home directory to avoid polluting the real one.
|
||||
# But provide original ENV{HOME} value in ENV{CTEST_REAL_HOME} for tests that
|
||||
# need access to the real HOME directory.
|
||||
SET(ENV{CTEST_REAL_HOME} \"$ENV{HOME}\")
|
||||
SET(ENV{CTEST_REAL_HOME} \"\$ENV{HOME}\")
|
||||
SET(ENV{HOME} \"${TEST_HOME}\")
|
||||
")
|
||||
ENDIF()
|
||||
|
@ -1776,7 +1776,16 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
|
|||
INCLUDE(Contracts/${project}/RunTest.cmake)
|
||||
ADD_TEST_MACRO(Contracts.${project}
|
||||
${${project}_RUN_TEST})
|
||||
SET_TESTS_PROPERTIES(Contracts.${project} PROPERTIES TIMEOUT 5400)
|
||||
# Contract test timeout in seconds.
|
||||
# Default to 6 hours.
|
||||
IF(DEFINED ${project}_TEST_TIMEOUT)
|
||||
SET(timeout ${${project}_TEST_TIMEOUT})
|
||||
ELSEIF(CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT)
|
||||
SET(timeout ${CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT})
|
||||
ELSE()
|
||||
SET(timeout 21600)
|
||||
ENDIF()
|
||||
SET_TESTS_PROPERTIES(Contracts.${project} PROPERTIES TIMEOUT ${timeout})
|
||||
ENDFOREACH()
|
||||
ENDIF(BUILD_TESTING)
|
||||
|
||||
|
|
Loading…
Reference in New Issue