12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #include "cmCTestSleepCommand.h"
- #include "cmCTestScriptHandler.h"
- #include <stdlib.h>
- class cmExecutionStatus;
- bool cmCTestSleepCommand::InitialPass(std::vector<std::string> const& args,
- cmExecutionStatus& )
- {
- if (args.empty()) {
- this->SetError("called with incorrect number of arguments");
- return false;
- }
-
- unsigned int time1 = atoi(args[0].c_str());
- if (args.size() == 1) {
- cmCTestScriptHandler::SleepInSeconds(time1);
-
- this->CTestScriptHandler->UpdateElapsedTime();
- return true;
- }
-
- if (args.size() == 3) {
- unsigned int duration = atoi(args[1].c_str());
- unsigned int time2 = atoi(args[2].c_str());
- if (time1 + duration > time2) {
- duration = (time1 + duration - time2);
- cmCTestScriptHandler::SleepInSeconds(duration);
-
- this->CTestScriptHandler->UpdateElapsedTime();
- }
- return true;
- }
- this->SetError("called with incorrect number of arguments");
- return false;
- }
|