|
@@ -64,7 +64,8 @@ bool cmCTestLaunch::ParseArguments(int argc, const char* const* argv)
|
|
|
DoingTargetName,
|
|
DoingTargetName,
|
|
|
DoingTargetType,
|
|
DoingTargetType,
|
|
|
DoingBuildDir,
|
|
DoingBuildDir,
|
|
|
- DoingCount };
|
|
|
|
|
|
|
+ DoingCount,
|
|
|
|
|
+ DoingFilterPrefix };
|
|
|
Doing doing = DoingNone;
|
|
Doing doing = DoingNone;
|
|
|
int arg0 = 0;
|
|
int arg0 = 0;
|
|
|
for(int i=1; !arg0 && i < argc; ++i)
|
|
for(int i=1; !arg0 && i < argc; ++i)
|
|
@@ -98,6 +99,10 @@ bool cmCTestLaunch::ParseArguments(int argc, const char* const* argv)
|
|
|
{
|
|
{
|
|
|
doing = DoingBuildDir;
|
|
doing = DoingBuildDir;
|
|
|
}
|
|
}
|
|
|
|
|
+ else if(strcmp(arg, "--filter-prefix") == 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ doing = DoingFilterPrefix;
|
|
|
|
|
+ }
|
|
|
else if(doing == DoingOutput)
|
|
else if(doing == DoingOutput)
|
|
|
{
|
|
{
|
|
|
this->OptionOutput = arg;
|
|
this->OptionOutput = arg;
|
|
@@ -132,6 +137,11 @@ bool cmCTestLaunch::ParseArguments(int argc, const char* const* argv)
|
|
|
this->OptionBuildDir = arg;
|
|
this->OptionBuildDir = arg;
|
|
|
doing = DoingNone;
|
|
doing = DoingNone;
|
|
|
}
|
|
}
|
|
|
|
|
+ else if(doing == DoingFilterPrefix)
|
|
|
|
|
+ {
|
|
|
|
|
+ this->OptionFilterPrefix = arg;
|
|
|
|
|
+ doing = DoingNone;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Extract the real command line.
|
|
// Extract the real command line.
|
|
@@ -573,8 +583,15 @@ void cmCTestLaunch::DumpFileToXML(std::ostream& fxml,
|
|
|
|
|
|
|
|
std::string line;
|
|
std::string line;
|
|
|
const char* sep = "";
|
|
const char* sep = "";
|
|
|
|
|
+
|
|
|
while(cmSystemTools::GetLineFromStream(fin, line))
|
|
while(cmSystemTools::GetLineFromStream(fin, line))
|
|
|
{
|
|
{
|
|
|
|
|
+ if(OptionFilterPrefix.size() && cmSystemTools::StringStartsWith(
|
|
|
|
|
+ line.c_str(), OptionFilterPrefix.c_str()))
|
|
|
|
|
+ {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
fxml << sep << cmXMLSafe(line).Quotes(false);
|
|
fxml << sep << cmXMLSafe(line).Quotes(false);
|
|
|
sep = "\n";
|
|
sep = "\n";
|
|
|
}
|
|
}
|