[Cmake-commits] [cmake-commits] king committed cmCTestCoverageHandler.cxx 1.69 1.70 cmCTestCoverageHandler.h 1.21 1.22
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Mar 11 12:03:51 EDT 2009
Update of /cvsroot/CMake/CMake/Source/CTest
In directory public:/mounts/ram/cvs-serv1818/Source/CTest
Modified Files:
cmCTestCoverageHandler.cxx cmCTestCoverageHandler.h
Log Message:
BUG: Avoid duplicate CTest coverage submission
This teaches ctest_coverage() to remove any existing CoverageLog-*.xml
when it creates new coverage results. Otherwise the next ctest_submit()
may submit old coverage log files which unnecessarily.
Index: cmCTestCoverageHandler.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestCoverageHandler.cxx,v
retrieving revision 1.69
retrieving revision 1.70
diff -C 2 -d -r1.69 -r1.70
*** cmCTestCoverageHandler.cxx 9 Mar 2009 16:19:52 -0000 1.69
--- cmCTestCoverageHandler.cxx 11 Mar 2009 16:03:47 -0000 1.70
***************
*** 163,166 ****
--- 163,184 ----
}
+ //----------------------------------------------------------------------------
+ void cmCTestCoverageHandler::CleanCoverageLogFiles(std::ostream& log)
+ {
+ std::string logGlob = this->CTest->GetCTestConfiguration("BuildDirectory");
+ logGlob += "/Testing/";
+ logGlob += this->CTest->GetCurrentTag();
+ logGlob += "/CoverageLog*";
+ cmsys::Glob gl;
+ gl.FindFiles(logGlob.c_str());
+ std::vector<std::string> const& files = gl.GetFiles();
+ for(std::vector<std::string>::const_iterator fi = files.begin();
+ fi != files.end(); ++fi)
+ {
+ log << "Removing old coverage log: " << *fi << "\n";
+ cmSystemTools::RemoveFile(fi->c_str());
+ }
+ }
+
//----------------------------------------------------------------------
bool cmCTestCoverageHandler::StartCoverageLogFile(
***************
*** 343,346 ****
--- 361,365 ----
ofs << "Performing coverage: " << elapsed_time_start << std::endl;
+ this->CleanCoverageLogFiles(ofs);
cmSystemTools::ConvertToUnixSlashes(sourceDir);
Index: cmCTestCoverageHandler.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CTest/cmCTestCoverageHandler.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -C 2 -d -r1.21 -r1.22
*** cmCTestCoverageHandler.h 9 Mar 2009 16:19:56 -0000 1.21
--- cmCTestCoverageHandler.h 11 Mar 2009 16:03:47 -0000 1.22
***************
*** 57,60 ****
--- 57,61 ----
bool ShouldIDoCoverage(const char* file, const char* srcDir,
const char* binDir);
+ void CleanCoverageLogFiles(std::ostream& log);
bool StartCoverageLogFile(cmGeneratedFileStream& ostr, int logFileCount);
void EndCoverageLogFile(cmGeneratedFileStream& ostr, int logFileCount);
More information about the Cmake-commits
mailing list