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
。