summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-12-08 13:07:26 (GMT)
committerBrad King <brad.king@kitware.com>2017-12-08 13:31:00 (GMT)
commitde0035fdcccb4c8acc92bf1db0a76b3c1f18003f (patch)
tree58f87d5434d985246b07a94189af806768ae75de
parent687a26b7023748cc98317eae53ee2ac3cc520bda (diff)
downloadCMake-de0035fdcccb4c8acc92bf1db0a76b3c1f18003f.zip
CMake-de0035fdcccb4c8acc92bf1db0a76b3c1f18003f.tar.gz
CMake-de0035fdcccb4c8acc92bf1db0a76b3c1f18003f.tar.bz2
cmCTestBuildAndTestHandler: Convert timeout to std::chrono::duration
-rw-r--r--Source/CTest/cmCTestBuildAndTestHandler.cxx19
-rw-r--r--Source/CTest/cmCTestBuildAndTestHandler.h3
2 files changed, 11 insertions, 11 deletions
diff --git a/Source/CTest/cmCTestBuildAndTestHandler.cxx b/Source/CTest/cmCTestBuildAndTestHandler.cxx
index 672087d..85d98d0 100644
--- a/Source/CTest/cmCTestBuildAndTestHandler.cxx
+++ b/Source/CTest/cmCTestBuildAndTestHandler.cxx
@@ -11,6 +11,7 @@
#include "cmsys/Process.h"
#include <chrono>
+#include <ratio>
#include <stdlib.h>
cmCTestBuildAndTestHandler::cmCTestBuildAndTestHandler()
@@ -18,7 +19,7 @@ cmCTestBuildAndTestHandler::cmCTestBuildAndTestHandler()
this->BuildTwoConfig = false;
this->BuildNoClean = false;
this->BuildNoCMake = false;
- this->Timeout = 0;
+ this->Timeout = std::chrono::duration<double>::zero();
}
void cmCTestBuildAndTestHandler::Initialize()
@@ -224,10 +225,9 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
}
for (std::string const& tar : this->BuildTargets) {
std::chrono::duration<double> remainingTime = std::chrono::seconds(0);
- if (this->Timeout > 0) {
- remainingTime = std::chrono::duration<double>(this->Timeout) -
- std::chrono::duration_cast<std::chrono::seconds>(
- std::chrono::steady_clock::now() - clock_start);
+ if (this->Timeout > std::chrono::duration<double>::zero()) {
+ remainingTime =
+ this->Timeout - (std::chrono::steady_clock::now() - clock_start);
if (remainingTime <= std::chrono::seconds(0)) {
if (outstring) {
*outstring = "--build-and-test timeout exceeded. ";
@@ -324,10 +324,9 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
// how much time is remaining
std::chrono::duration<double> remainingTime = std::chrono::seconds(0);
- if (this->Timeout > 0) {
- remainingTime = std::chrono::duration<double>(this->Timeout) -
- std::chrono::duration_cast<std::chrono::seconds>(
- std::chrono::steady_clock::now() - clock_start);
+ if (this->Timeout > std::chrono::duration<double>::zero()) {
+ remainingTime =
+ this->Timeout - (std::chrono::steady_clock::now() - clock_start);
if (remainingTime <= std::chrono::seconds(0)) {
if (outstring) {
*outstring = "--build-and-test timeout exceeded. ";
@@ -396,7 +395,7 @@ int cmCTestBuildAndTestHandler::ProcessCommandLineArguments(
}
if (currentArg.find("--test-timeout", 0) == 0 && idx < allArgs.size() - 1) {
idx++;
- this->Timeout = atof(allArgs[idx].c_str());
+ this->Timeout = std::chrono::duration<double>(atof(allArgs[idx].c_str()));
}
if (currentArg == "--build-generator" && idx < allArgs.size() - 1) {
idx++;
diff --git a/Source/CTest/cmCTestBuildAndTestHandler.h b/Source/CTest/cmCTestBuildAndTestHandler.h
index f19cb67..f8a9ed7 100644
--- a/Source/CTest/cmCTestBuildAndTestHandler.h
+++ b/Source/CTest/cmCTestBuildAndTestHandler.h
@@ -7,6 +7,7 @@
#include "cmCTestGenericHandler.h"
+#include <chrono>
#include <sstream>
#include <stddef.h>
#include <string>
@@ -67,7 +68,7 @@ protected:
std::vector<std::string> TestCommandArgs;
std::vector<std::string> BuildTargets;
bool BuildNoCMake;
- double Timeout;
+ std::chrono::duration<double> Timeout;
};
#endif