CTest: Generate NamedMeasurement elements directly into xml file
Re-order the logic to avoid use of a temporary std::ostringstream.
This commit is contained in:
parent
965cf8e66e
commit
b26e5b552a
|
@ -607,7 +607,7 @@ void cmCTestRunTest::DartProcessing()
|
||||||
{
|
{
|
||||||
if (this->TestHandler->DartStuff.find(this->ProcessOutput.c_str()))
|
if (this->TestHandler->DartStuff.find(this->ProcessOutput.c_str()))
|
||||||
{
|
{
|
||||||
std::string dartString = this->TestHandler->DartStuff.match(1);
|
this->TestResult.DartString = this->TestHandler->DartStuff.match(1);
|
||||||
// keep searching and replacing until none are left
|
// keep searching and replacing until none are left
|
||||||
while (this->TestHandler->DartStuff1.find(this->ProcessOutput.c_str()))
|
while (this->TestHandler->DartStuff1.find(this->ProcessOutput.c_str()))
|
||||||
{
|
{
|
||||||
|
@ -615,8 +615,6 @@ void cmCTestRunTest::DartProcessing()
|
||||||
cmSystemTools::ReplaceString(this->ProcessOutput,
|
cmSystemTools::ReplaceString(this->ProcessOutput,
|
||||||
this->TestHandler->DartStuff1.match(1).c_str(), "");
|
this->TestHandler->DartStuff1.match(1).c_str(), "");
|
||||||
}
|
}
|
||||||
this->TestResult.RegressionImages
|
|
||||||
= this->TestHandler->GenerateRegressionImages(dartString);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1185,7 +1185,7 @@ void cmCTestTestHandler::GenerateDartOutput(std::ostream& os)
|
||||||
<< "</Value></NamedMeasurement>"
|
<< "</Value></NamedMeasurement>"
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
}
|
}
|
||||||
os << result->RegressionImages;
|
this->GenerateRegressionImages(os, result->DartString);
|
||||||
os << "\t\t\t<NamedMeasurement type=\"numeric/double\" "
|
os << "\t\t\t<NamedMeasurement type=\"numeric/double\" "
|
||||||
<< "name=\"Execution Time\"><Value>"
|
<< "name=\"Execution Time\"><Value>"
|
||||||
<< result->ExecutionTime
|
<< result->ExecutionTime
|
||||||
|
@ -1828,8 +1828,8 @@ void cmCTestTestHandler::ExpandTestsToRunInformationForRerunFailed()
|
||||||
// Just for convenience
|
// Just for convenience
|
||||||
#define SPACE_REGEX "[ \t\r\n]"
|
#define SPACE_REGEX "[ \t\r\n]"
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
std::string cmCTestTestHandler::GenerateRegressionImages(
|
void cmCTestTestHandler::GenerateRegressionImages(
|
||||||
const std::string& xml)
|
std::ostream& ostr, const std::string& xml)
|
||||||
{
|
{
|
||||||
cmsys::RegularExpression twoattributes(
|
cmsys::RegularExpression twoattributes(
|
||||||
"<DartMeasurement"
|
"<DartMeasurement"
|
||||||
|
@ -1864,7 +1864,6 @@ std::string cmCTestTestHandler::GenerateRegressionImages(
|
||||||
SPACE_REGEX "*(name|type|encoding|compression)=\"([^\"]*)\""
|
SPACE_REGEX "*(name|type|encoding|compression)=\"([^\"]*)\""
|
||||||
SPACE_REGEX "*>([^<]*)</DartMeasurementFile>");
|
SPACE_REGEX "*>([^<]*)</DartMeasurementFile>");
|
||||||
|
|
||||||
std::ostringstream ostr;
|
|
||||||
bool done = false;
|
bool done = false;
|
||||||
std::string cxml = xml;
|
std::string cxml = xml;
|
||||||
while ( ! done )
|
while ( ! done )
|
||||||
|
@ -2026,7 +2025,6 @@ std::string cmCTestTestHandler::GenerateRegressionImages(
|
||||||
done = true;
|
done = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ostr.str();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
|
|
|
@ -128,7 +128,7 @@ public:
|
||||||
bool CompressOutput;
|
bool CompressOutput;
|
||||||
std::string CompletionStatus;
|
std::string CompletionStatus;
|
||||||
std::string Output;
|
std::string Output;
|
||||||
std::string RegressionImages;
|
std::string DartString;
|
||||||
int TestCount;
|
int TestCount;
|
||||||
cmCTestTestProperties* Properties;
|
cmCTestTestProperties* Properties;
|
||||||
};
|
};
|
||||||
|
@ -270,7 +270,7 @@ private:
|
||||||
cmsys::RegularExpression IncludeTestsRegularExpression;
|
cmsys::RegularExpression IncludeTestsRegularExpression;
|
||||||
cmsys::RegularExpression ExcludeTestsRegularExpression;
|
cmsys::RegularExpression ExcludeTestsRegularExpression;
|
||||||
|
|
||||||
std::string GenerateRegressionImages(const std::string& xml);
|
void GenerateRegressionImages(std::ostream& ostr, const std::string& xml);
|
||||||
cmsys::RegularExpression DartStuff1;
|
cmsys::RegularExpression DartStuff1;
|
||||||
void CheckLabelFilter(cmCTestTestProperties& it);
|
void CheckLabelFilter(cmCTestTestProperties& it);
|
||||||
void CheckLabelFilterExclude(cmCTestTestProperties& it);
|
void CheckLabelFilterExclude(cmCTestTestProperties& it);
|
||||||
|
|
Loading…
Reference in New Issue