BUG: Do not produce empty coverage log files
This moves the filtering of source files to before the production of coverage log files in order to avoid producing a CoverageLog-*.xml file for 100 filtered-out files. The change greatly reduces the number of submitted coverage files when using label filters.
This commit is contained in:
parent
5bc17136a3
commit
589b4265a6
@ -464,28 +464,8 @@ int cmCTestCoverageHandler::ProcessHandler()
|
|||||||
<< cont.TotalCoverage.size() << std::endl);
|
<< cont.TotalCoverage.size() << std::endl);
|
||||||
cmCTestLog(this->CTest, HANDLER_OUTPUT, " ");
|
cmCTestLog(this->CTest, HANDLER_OUTPUT, " ");
|
||||||
}
|
}
|
||||||
if ( cnt % 100 == 0 )
|
|
||||||
{
|
|
||||||
this->EndCoverageLogFile(covLogFile, logFileCount);
|
|
||||||
logFileCount ++;
|
|
||||||
if ( !this->StartCoverageLogFile(covLogFile, logFileCount) )
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const std::string fullFileName = fileIterator->first;
|
const std::string fullFileName = fileIterator->first;
|
||||||
const std::string fileName
|
|
||||||
= cmSystemTools::GetFilenameName(fullFileName.c_str());
|
|
||||||
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
|
|
||||||
"Process file: " << fullFileName << std::endl);
|
|
||||||
|
|
||||||
if ( !cmSystemTools::FileExists(fullFileName.c_str()) )
|
|
||||||
{
|
|
||||||
cmCTestLog(this->CTest, ERROR_MESSAGE, "Cannot find file: "
|
|
||||||
<< fullFileName.c_str() << std::endl);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool shouldIDoCoverage
|
bool shouldIDoCoverage
|
||||||
= this->ShouldIDoCoverage(fullFileName.c_str(),
|
= this->ShouldIDoCoverage(fullFileName.c_str(),
|
||||||
sourceDir.c_str(), binaryDir.c_str());
|
sourceDir.c_str(), binaryDir.c_str());
|
||||||
@ -498,6 +478,28 @@ int cmCTestCoverageHandler::ProcessHandler()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
|
||||||
|
"Process file: " << fullFileName << std::endl);
|
||||||
|
|
||||||
|
if ( !cmSystemTools::FileExists(fullFileName.c_str()) )
|
||||||
|
{
|
||||||
|
cmCTestLog(this->CTest, ERROR_MESSAGE, "Cannot find file: "
|
||||||
|
<< fullFileName.c_str() << std::endl);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( ++cnt % 100 == 0 )
|
||||||
|
{
|
||||||
|
this->EndCoverageLogFile(covLogFile, logFileCount);
|
||||||
|
logFileCount ++;
|
||||||
|
if ( !this->StartCoverageLogFile(covLogFile, logFileCount) )
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string fileName
|
||||||
|
= cmSystemTools::GetFilenameName(fullFileName.c_str());
|
||||||
std::string shortFileName =
|
std::string shortFileName =
|
||||||
this->CTest->GetShortPathToFile(fullFileName.c_str());
|
this->CTest->GetShortPathToFile(fullFileName.c_str());
|
||||||
const cmCTestCoverageHandlerContainer::SingleFileCoverageVector& fcov
|
const cmCTestCoverageHandlerContainer::SingleFileCoverageVector& fcov
|
||||||
@ -582,7 +584,6 @@ int cmCTestCoverageHandler::ProcessHandler()
|
|||||||
covSumFile << (cmet) << "</CoverageMetric>\n";
|
covSumFile << (cmet) << "</CoverageMetric>\n";
|
||||||
this->WriteXMLLabels(covSumFile, shortFileName);
|
this->WriteXMLLabels(covSumFile, shortFileName);
|
||||||
covSumFile << "\t</File>" << std::endl;
|
covSumFile << "\t</File>" << std::endl;
|
||||||
cnt ++;
|
|
||||||
}
|
}
|
||||||
this->EndCoverageLogFile(covLogFile, logFileCount);
|
this->EndCoverageLogFile(covLogFile, logFileCount);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user