mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 08:20:18 -06:00
Tests: Optionally extend RunCMake.ExternalProject download server timeout
Some of the `RunCMake.ExternalProject` test cases use a download server implemented in Python. Normally we wait up to 30 seconds for it to start. However, on some machines running many tests concurrently, the download server may take longer than that to start. Add an undocumented cache entry to use on those machines to extend the timeout.
This commit is contained in:
@@ -733,6 +733,9 @@ add_RunCMake_test(CPackInstallProperties)
|
||||
if(XCODE_VERSION)
|
||||
set(ExternalProject_ARGS -DXCODE_VERSION=${XCODE_VERSION})
|
||||
endif()
|
||||
if(CMake_TEST_RunCMake_ExternalProject_DOWNLOAD_SERVER_TIMEOUT)
|
||||
list(APPEND ExternalProject_ARGS -DDOWNLOAD_SERVER_TIMEOUT=${CMake_TEST_RunCMake_ExternalProject_DOWNLOAD_SERVER_TIMEOUT})
|
||||
endif()
|
||||
add_RunCMake_test(ExternalProject)
|
||||
add_RunCMake_test(FetchContent)
|
||||
set(CTestCommandLine_ARGS -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE})
|
||||
|
||||
@@ -105,12 +105,15 @@ function(__ep_test_with_build_with_server testName)
|
||||
if(EXISTS "${URL_FILE}")
|
||||
file(REMOVE "${URL_FILE}")
|
||||
endif()
|
||||
if(NOT DOWNLOAD_SERVER_TIMEOUT)
|
||||
set(DOWNLOAD_SERVER_TIMEOUT 30)
|
||||
endif()
|
||||
execute_process(
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/DownloadServer.py --file "${URL_FILE}" ${ARGN}
|
||||
OUTPUT_FILE ${RunCMake_BINARY_DIR}/${testName}-python.txt
|
||||
ERROR_FILE ${RunCMake_BINARY_DIR}/${testName}-python.txt
|
||||
RESULT_VARIABLE result
|
||||
TIMEOUT 30
|
||||
TIMEOUT "${DOWNLOAD_SERVER_TIMEOUT}"
|
||||
)
|
||||
if(NOT result EQUAL 0)
|
||||
message(FATAL_ERROR "Failed to start download server:\n ${result}")
|
||||
|
||||
Reference in New Issue
Block a user