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
。