Browse Source

BUG: Do not carry over file list between coverage

When performing multiple ctest_coverage() commands in a single CTest
instance we need to clear the list of CoverageLog-*.xml files for
submission.  Otherwise if the current coverage run produces fewer log
files than the previous run CTest will attempt to submit non-existing
files.
Brad King 16 years ago
parent
commit
5bc17136a3
2 changed files with 2 additions and 0 deletions
  1. 1 0
      Source/CTest/cmCTestCoverageHandler.cxx
  2. 1 0
      Source/cmCTest.h

+ 1 - 0
Source/CTest/cmCTestCoverageHandler.cxx

@@ -334,6 +334,7 @@ bool cmCTestCoverageHandler::ShouldIDoCoverage(const char* file,
 //functions and commented...
 int cmCTestCoverageHandler::ProcessHandler()
 {
+  this->CTest->ClearSubmitFiles(cmCTest::PartCoverage);
   int error = 0;
   // do we have time for this
   if (this->CTest->GetRemainingTimeAllowed() < 120)

+ 1 - 0
Source/cmCTest.h

@@ -358,6 +358,7 @@ public:
   void AddSubmitFile(Part part, const char* name);
   std::vector<std::string> const& GetSubmitFiles(Part part)
     { return this->Parts[part].SubmitFiles; }
+  void ClearSubmitFiles(Part part) { this->Parts[part].SubmitFiles.clear(); }
 
   //! Read the custom configuration files and apply them to the current ctest
   int ReadCustomConfigurationFileTree(const char* dir, cmMakefile* mf);