【问题标题】:How to overwrite Ctest default timeout 1500 in CMakeLists.txt如何在 CMakeLists.txt 中覆盖 Ctest 默认超时 1500
【发布时间】:2017-07-10 10:23:30
【问题描述】:

我的CMakeLists.txt 包括这些行

include(CTest)
enable_testing()
set(CTEST_TEST_TIMEOUT 3)
add_test(...)

ctest 有效,但忽略了我设置超时的尝试。相反,它以默认的 1500 超时运行。

如何更改默认超时? CTEST_TEST_TIMEOUT 是如何使用的?

【问题讨论】:

    标签: cmake timeout ctest


    【解决方案1】:

    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 选项。

    【讨论】:

    • “您可以在 CMake 中使用 TIMEOUT 测试属性控制单个测试的超时时间” - 我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 2022-01-14
    相关资源
    最近更新 更多