cmake - 如何覆盖 CMakeLists.txt 中的 Ctest 默认超时 1500

标签 cmake timeout ctest

我的 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 中各个测试的超时时间。 test 属性,但没有设置全局超时默认值的 CMake 变量。下面将超时设置为 30 秒,仅用于 sometest测试:

add_test(sometest ...)
set_tests_properties(sometest PROPERTIES TIMEOUT 30) 

但是,您可以在调用 ctest 时覆盖默认超时。使用 --timeout选项。例如。在全局超时默认设置为 120 秒的情况下运行测试:
ctest --timeout 120

在 CMake 中为单个测试指定的超时仍然优先于全局设置的默认超时,即使 --timeout选项被使用。

关于cmake - 如何覆盖 CMakeLists.txt 中的 Ctest 默认超时 1500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45009595/

相关文章:

cmake - 调试 CMake find_library

android - Webview Android 超时

c++ - CMake 中预期的构建失败测试

c++ - 在 Linux 和 Windows 中启用 curses

boost - 尝试查找 Boost 时 CMake 报告 'Boost_DIR-NOT_FOUND'

c++ - 如何将RapidXml添加到CMake项目?

cmake - 可以ctest显示googletest控制台颜色

java - 捕获的输出“需要很长时间才能在多次运行后出现在屏幕上

c# - 在 C# 中使用 SMTP 发送电子邮件偶尔会超时

cmake ctest 测试后删除文件