MCPcopy Create free account
hub / github.com/Kitware/CMake / ProcessSteps

Method ProcessSteps

Source/cmCTest.cxx:704–864  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

702}
703
704int cmCTest::ProcessSteps()
705{
706 this->Impl->ExtraVerbose = this->Impl->Verbose;
707 this->Impl->Verbose = true;
708 this->Impl->ProduceXML = true;
709
710 // Minimal dashboard client script configuration.
711 this->SetCTestConfiguration("BuildDirectory", this->Impl->BinaryDir);
712
713 this->UpdateCTestConfiguration();
714 this->BlockTestErrorDiagnostics();
715
716 if (this->GetCTestConfiguration("TimeOut").empty()) {
717 this->SetCTestConfiguration(
718 "TimeOut",
719 std::to_string(cmDurationTo<unsigned int>(cmCTest::MaxDuration())),
720 true);
721 }
722
723 int res = 0;
724 cmCTestScriptHandler script(this);
725 script.CreateCMake();
726 cmMakefile& mf = *script.GetMakefile();
727 this->ReadCustomConfigurationFileTree(this->Impl->BinaryDir, &mf);
728 this->SetTimeLimit(mf.GetDefinition("CTEST_TIME_LIMIT"));
729 this->SetCMakeVariables(mf);
730 std::vector<cmListFileArgument> args{
731 cmListFileArgument("RETURN_VALUE"_s, cmListFileArgument::Unquoted, 0),
732 cmListFileArgument("return_value"_s, cmListFileArgument::Unquoted, 0),
733 };
734
735 if (this->Impl->Parts[PartStart]) {
736 auto const func = cmListFileFunction(
737 "ctest_start", 0, 0,
738 {
739 { this->GetTestModelString(), cmListFileArgument::Unquoted, 0 },
740 { "GROUP", cmListFileArgument::Unquoted, 0 },
741 { this->GetTestGroupString(), cmListFileArgument::Unquoted, 0 },
742 });
743 auto status = cmExecutionStatus(mf);
744 if (!mf.ExecuteCommand(func, status)) {
745 return 12;
746 }
747 } else if (!this->ReadExistingTag(true) && !this->CreateNewTag(false)) {
748 cmCTestLog(this, ERROR_MESSAGE,
749 "Problem initializing the dashboard." << std::endl);
750 return 12;
751 }
752
753 if (this->Impl->Parts[PartUpdate] &&
754 (this->GetRemainingTimeAllowed() > std::chrono::minutes(2))) {
755 auto const func = cmListFileFunction("ctest_update", 0, 0, args);
756 auto status = cmExecutionStatus(mf);
757 if (!mf.ExecuteCommand(func, status)) {
758 res |= cmCTest::UPDATE_ERRORS;
759 }
760 }
761 if (this->Impl->TestModel == cmCTest::CONTINUOUS &&

Callers 1

RunMethod · 0.95

Calls 15

SetCTestConfigurationMethod · 0.95
GetCTestConfigurationMethod · 0.95
SetTimeLimitMethod · 0.95
SetCMakeVariablesMethod · 0.95
GetTestModelStringMethod · 0.95
GetTestGroupStringMethod · 0.95
ReadExistingTagMethod · 0.95
CreateNewTagMethod · 0.95

Tested by

no test coverage detected