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