如何覆盖CTEST默认的超时时间1500的CMakeLists.txt

问题描述:

CMakeLists.txt包括线如何覆盖CTEST默认的超时时间1500的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选项使用。

+0

“您可以使用TIMEOUT测试属性控制CMake中的超时以进行单个测试” - 我该怎么做? –

+0

答案已更新以显示方式。 –

+0

我正在寻找'set_test_properties' - 非常感谢! –