summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2016-03-22 20:09:28 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2016-03-22 20:09:28 (GMT)
commit6201c1a6ce4326585bc2c4354119a59134e0be11 (patch)
tree981e78bbb7bb2e3fc5bd8fc7ab37830e11b37519 /Help
parent208524b822f7f6ccbe0414452cd9b050263565bc (diff)
parentde7afd2996b9e2055716c2f10a8e64d3fc793efa (diff)
downloadCMake-6201c1a6ce4326585bc2c4354119a59134e0be11.zip
CMake-6201c1a6ce4326585bc2c4354119a59134e0be11.tar.gz
CMake-6201c1a6ce4326585bc2c4354119a59134e0be11.tar.bz2
Merge topic 'timeout_after_match'
de7afd29 Help: Add notes for topic 'timeout_after_match' 993e48d0 CTest: Optionally use a secondary test timeout after matching output
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-properties.7.rst1
-rw-r--r--Help/prop_test/TIMEOUT_AFTER_MATCH.rst37
-rw-r--r--Help/release/dev/timeout_after_match.rst6
3 files changed, 44 insertions, 0 deletions
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst
index fbde4eb..578f85a 100644
--- a/Help/manual/cmake-properties.7.rst
+++ b/Help/manual/cmake-properties.7.rst
@@ -304,6 +304,7 @@ Properties on Tests
/prop_test/RUN_SERIAL
/prop_test/SKIP_RETURN_CODE
/prop_test/TIMEOUT
+ /prop_test/TIMEOUT_AFTER_MATCH
/prop_test/WILL_FAIL
/prop_test/WORKING_DIRECTORY
diff --git a/Help/prop_test/TIMEOUT_AFTER_MATCH.rst b/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
new file mode 100644
index 0000000..a191a9c
--- /dev/null
+++ b/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
@@ -0,0 +1,37 @@
+TIMEOUT_AFTER_MATCH
+-------------------
+
+Change a test's timeout duration after a matching line is encountered
+in its output.
+
+Usage
+^^^^^
+
+.. code-block:: cmake
+
+ add_test(mytest ...)
+ set_property(TEST mytest PROPERTY TIMEOUT_AFTER_MATCH "${seconds}" "${regex}")
+
+Description
+^^^^^^^^^^^
+
+Allow a test ``seconds`` to complete after ``regex`` is encountered in
+its output.
+
+When the test outputs a line that matches ``regex`` its start time is
+reset to the current time and its timeout duration is changed to
+``seconds``. Prior to this, the timeout duration is determined by the
+:prop_test:`TIMEOUT` property or the :variable:`CTEST_TEST_TIMEOUT`
+variable if either of these are set.
+
+:prop_test:`TIMEOUT_AFTER_MATCH` is useful for avoiding spurious
+timeouts when your test must wait for some system resource to become
+available before it can execute. Set :prop_test:`TIMEOUT` to a longer
+duration that accounts for resource acquisition and use
+:prop_test:`TIMEOUT_AFTER_MATCH` to control how long the actual test
+is allowed to run.
+
+If the required resource can be controlled by CTest you should use
+:prop_test:`RESOURCE_LOCK` instead of :prop_test:`TIMEOUT_AFTER_MATCH`.
+This property should be used when only the test itself can determine
+when its required resources are available.
diff --git a/Help/release/dev/timeout_after_match.rst b/Help/release/dev/timeout_after_match.rst
new file mode 100644
index 0000000..83f316d
--- /dev/null
+++ b/Help/release/dev/timeout_after_match.rst
@@ -0,0 +1,6 @@
+timeout_after_match
+-------------------
+
+* CTest learned to optionally enforce a secondary timeout after matching
+ certain output from a test. See the :prop_test:`TIMEOUT_AFTER_MATCH` test
+ property.