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
。