Tests: Move CTestTestZeroTimeout into RunCMake.CTestTimeout

This commit is contained in:
Brad King
2023-05-03 10:29:05 -04:00
parent cd4038fe94
commit 39a20a56dd
9 changed files with 22 additions and 64 deletions

View File

@@ -3191,17 +3191,6 @@ if(BUILD_TESTING)
PASS_REGULAR_EXPRESSION "1/1 Test #1: TestTimeout" DEPENDS CTestTestTimeout
WORKING_DIRECTORY ${CMake_BINARY_DIR}/Tests/CTestTestTimeout)
configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestZeroTimeout/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestZeroTimeout/test.cmake"
@ONLY ESCAPE_QUOTES)
add_test(CTestTestZeroTimeout ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestZeroTimeout/test.cmake" -V
--output-log
"${CMake_BINARY_DIR}/Tests/CTestTestZeroTimeout/testOutput.log")
set_tests_properties(CTestTestZeroTimeout PROPERTIES
FAIL_REGULAR_EXPRESSION "\\*\\*\\*Timeout")
configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestDepends/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestDepends/test.cmake"

View File

@@ -1,8 +0,0 @@
cmake_minimum_required (VERSION 3.5)
project (CTestTestZeroTimeout)
include (CTest)
add_executable (Sleep sleep.c)
add_test (TestExplicitZeroTimeout Sleep)
set_tests_properties(TestExplicitZeroTimeout PROPERTIES TIMEOUT 0)

View File

@@ -1,4 +0,0 @@
set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "open.cdash.org")
set(CTEST_DROP_LOCATION "/submit.php?project=PublicDashboard")

View File

@@ -1,16 +0,0 @@
#if defined(_WIN32)
# include <windows.h>
#else
# include <unistd.h>
#endif
/* sleeps for 5 seconds */
int main(int argc, char** argv)
{
#if defined(_WIN32)
Sleep(5000);
#else
sleep(5);
#endif
return 0;
}

View File

@@ -1,22 +0,0 @@
cmake_minimum_required(VERSION 3.5)
# Settings:
set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
set(CTEST_SITE "@SITE@")
set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ZeroTimeout")
set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestZeroTimeout")
set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestZeroTimeout")
set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
set(CTEST_CMAKE_GENERATOR_PLATFORM "@CMAKE_GENERATOR_PLATFORM@")
set(CTEST_CMAKE_GENERATOR_TOOLSET "@CMAKE_GENERATOR_TOOLSET@")
set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
set(CTEST_TEST_TIMEOUT 2)
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)

View File

@@ -562,7 +562,10 @@ add_RunCMake_test(alias_targets)
add_RunCMake_test(InterfaceLibrary)
add_RunCMake_test(no_install_prefix)
add_RunCMake_test(configure_file)
add_RunCMake_test(CTestTimeout -DTIMEOUT=${CTestTestTimeout_TIME})
if(CTestTestTimeout_TIME)
set(CTestTimeout_ARGS -DTIMEOUT=${CTestTestTimeout_TIME})
endif()
add_RunCMake_test(CTestTimeout)
add_RunCMake_test(CTestTimeoutAfterMatch)
if(CMake_TEST_CUDA)
add_RunCMake_test(CUDA_architectures)

View File

@@ -4,7 +4,7 @@ include(CTest)
add_executable(TestTimeout TestTimeout.c)
if(NOT TIMEOUT)
if(NOT DEFINED TIMEOUT)
set(TIMEOUT 4)
endif()
target_compile_definitions(TestTimeout PRIVATE TIMEOUT=${TIMEOUT})

View File

@@ -1,6 +1,6 @@
include(RunCTest)
if(NOT TIMEOUT)
if(NOT DEFINED TIMEOUT)
# Give the process time to load and start running.
set(TIMEOUT 4)
endif()
@@ -20,3 +20,13 @@ if(UNIX)
run_ctest_timeout(Fork)
unset(CASE_CMAKELISTS_SUFFIX_CODE)
endif()
block()
# An explicit zero TIMEOUT test property means "no timeout".
set(TIMEOUT 0)
# The test sleeps for 4 seconds longer than the TIMEOUT value.
# Set a default timeout to less than that so that the test will
# timeout if the zero TIMEOUT does not suppress it.
set(CASE_TEST_PREFIX_CODE "set(CTEST_TEST_TIMEOUT 2)")
run_ctest_timeout(ZeroOverridesVar)
endblock()

View File

@@ -0,0 +1,6 @@
Test project [^
]*/Tests/RunCMake/CTestTimeout/ZeroOverridesVar-build
Start 1: TestTimeout
1/1 Test #1: TestTimeout ...................... Passed +[1-9][0-9.]* sec
+
100% tests passed, 0 tests failed out of 1