TIMEOUT_AFTER_MATCH

在版本 3.6 中添加。

在输出中遇到匹配行后更改测试的超时持续时间。

用法

add_test(mytest ...)
set_property(TEST mytest PROPERTY TIMEOUT_AFTER_MATCH "${seconds}" "${regex}")

说明

允许测试在输出中遇到 regex 之后完成 seconds

当测试输出与 regex 匹配的行时,其开始时间将重置为当前时间,其超时持续时间将更改为 seconds。在此之前,超时持续时间由 TIMEOUT 属性或 CTEST_TEST_TIMEOUT 变量(如果已设置)确定。因为测试的开始时间重置,所以其执行时间不包括等待匹配输出所花费的任何时间。

TIMEOUT_AFTER_MATCH 在避免虚假超时(当您的测试在执行之前必须等待某个系统资源变为可用时)方面非常有用。将 TIMEOUT 设置为包括资源获取和使用的更长时间,使用 TIMEOUT_AFTER_MATCH 来控制实际测试允许运行的时间。

如果可以通过 CTest 控制所需的资源,则应使用 RESOURCE_LOCK,而不是 TIMEOUT_AFTER_MATCH。仅当测试本身可以确定其所需资源何时可用时,才应使用此属性。

另请参见 TIMEOUT_SIGNAL_NAME