我的CMakeLists.txt
包含
include(CTest)
enable_testing()
set(CTEST_TEST_TIMEOUT 3)
add_test(...)
ctest
有效,但忽略了我设置超时的尝试。相反,它以默认超时1500运行。
如何更改默认超时?如何使用CTEST_TEST_TIMEOUT
?
答案 0 :(得分:11)
CTEST_TEST_TIMEOUT
用于CTest脚本,而不是CMakeLists.txt
文件。您可以使用TIMEOUT
测试属性控制CMake中的超时,但是没有设置全局超时默认值的CMake变量。以下将仅sometest
测试的超时设置为30秒:
add_test(sometest ...)
set_tests_properties(sometest PROPERTIES TIMEOUT 30)
但 可以在使用ctest
选项调用--timeout
时覆盖默认超时。例如。在全局超时默认设置为120秒的情况下运行测试:
ctest --timeout 120
即使使用--timeout
选项,CMake中针对单个测试指定的超时仍优先于全局设置的默认超时。