summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZack Galbreath <zack.galbreath@kitware.com>2016-10-17 15:24:01 (GMT)
committerZack Galbreath <zack.galbreath@kitware.com>2016-10-17 15:24:32 (GMT)
commit909842fff98983bff8b61c37b11a99d89dcc4d36 (patch)
tree0b7eb82f98946daff94078ef29b6c4d5df72cac9
parent188c762f8a5f690708109a3cb8d44693e599adb1 (diff)
downloadCMake-909842fff98983bff8b61c37b11a99d89dcc4d36.zip
CMake-909842fff98983bff8b61c37b11a99d89dcc4d36.tar.gz
CMake-909842fff98983bff8b61c37b11a99d89dcc4d36.tar.bz2
CTest: report time spent after matching output
When using the TIMEOUT_AFTER_MATCH test property, only report the time spent by the test after the matching output was found.
-rw-r--r--Help/prop_test/TIMEOUT_AFTER_MATCH.rst4
-rw-r--r--Source/CTest/cmProcess.cxx1
2 files changed, 4 insertions, 1 deletions
diff --git a/Help/prop_test/TIMEOUT_AFTER_MATCH.rst b/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
index a191a9c..d607992 100644
--- a/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
+++ b/Help/prop_test/TIMEOUT_AFTER_MATCH.rst
@@ -22,7 +22,9 @@ 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.
+variable if either of these are set. Because the test's start time is
+reset, its execution time will not include any time that was spent
+waiting for the matching output.
:prop_test:`TIMEOUT_AFTER_MATCH` is useful for avoiding spurious
timeouts when your test must wait for some system resource to become
diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx
index cf3c7ac..a24fe21 100644
--- a/Source/CTest/cmProcess.cxx
+++ b/Source/CTest/cmProcess.cxx
@@ -225,6 +225,7 @@ void cmProcess::ChangeTimeout(double t)
void cmProcess::ResetStartTime()
{
cmsysProcess_ResetStartTime(this->Process);
+ this->StartTime = cmSystemTools::GetTime();
}
int cmProcess::GetExitException()