【发布时间】:2017-07-10 10:23:30
【问题描述】:
我的CMakeLists.txt 包括这些行
include(CTest)
enable_testing()
set(CTEST_TEST_TIMEOUT 3)
add_test(...)
ctest 有效,但忽略了我设置超时的尝试。相反,它以默认的 1500 超时运行。
如何更改默认超时? CTEST_TEST_TIMEOUT 是如何使用的?
【问题讨论】:
我的CMakeLists.txt 包括这些行
include(CTest)
enable_testing()
set(CTEST_TEST_TIMEOUT 3)
add_test(...)
ctest 有效,但忽略了我设置超时的尝试。相反,它以默认的 1500 超时运行。
如何更改默认超时? CTEST_TEST_TIMEOUT 是如何使用的?
【问题讨论】:
CTEST_TEST_TIMEOUT 用于 CTest 脚本,而不是 CMakeLists.txt 文件。您可以使用 TIMEOUT 测试属性在 CMake 中控制单个测试的超时,但没有设置全局超时默认值的 CMake 变量。以下将 sometest 测试的超时设置为 30 秒:
add_test(sometest ...)
set_tests_properties(sometest PROPERTIES TIMEOUT 30)
但是,您可以在使用--timeout 选项调用ctest 时覆盖默认超时。例如。在全局超时默认设置为 120 秒的情况下运行测试:
ctest --timeout 120
在 CMake 中为单个测试指定的超时仍然优先于全局设置的默认超时,即使使用了 --timeout 选项。
【讨论】: