[Cmake-commits] CMake branch, next, updated. v3.7.0-1160-gbded335

Brad King brad.king at kitware.com
Tue Nov 15 09:41:35 EST 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  bded33556f7b3680021b3db6f0757a8a71566a95 (commit)
       via  797bc54afe2a84b232d3886b1c977cd3b876057e (commit)
      from  e10b5d73603644a63da6877474dc0dc939b27438 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bded33556f7b3680021b3db6f0757a8a71566a95
commit bded33556f7b3680021b3db6f0757a8a71566a95
Merge: e10b5d7 797bc54
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Nov 15 09:41:34 2016 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Nov 15 09:41:34 2016 -0500

    Merge topic 'improve_ctest_memcheck_output' into next
    
    797bc54a ctest: Improve output for `-T MemCheck`

diff --cc Source/CTest/cmCTestMemCheckHandler.cxx
index 0f27fac,233bfdb..2c31f60
--- a/Source/CTest/cmCTestMemCheckHandler.cxx
+++ b/Source/CTest/cmCTestMemCheckHandler.cxx
@@@ -358,9 -352,18 +358,18 @@@ void cmCTestMemCheckHandler::GenerateDa
        this->GlobalResults[kk] += memcheckresults[kk];
      }
      xml.EndElement(); // Results
- 
+     if (memoryErrors > 0) {
+       const int maxTestNameWidth = this->CTest->GetMaxTestNameWidth();
+       std::string outname = result->Name + " ";
+       outname.resize(maxTestNameWidth + 4, '.');
+       cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, cc + 1
+                            << "/" << total << " MemCheck: #"
+                            << result->TestCount << ": " << outname
+                            << "   Defects: " << memoryErrors << std::endl,
+                          this->Quiet);
+     }
      xml.StartElement("Log");
 -    if (this->CTest->ShouldCompressMemCheckOutput()) {
 +    if (this->CTest->ShouldCompressTestOutput()) {
        this->CTest->CompressString(memcheckstr);
        xml.Attribute("compression", "gzip");
        xml.Attribute("encoding", "base64");

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=797bc54afe2a84b232d3886b1c977cd3b876057e
commit 797bc54afe2a84b232d3886b1c977cd3b876057e
Author:     Bill Hoffman <bill.hoffman at kitware.com>
AuthorDate: Wed Nov 9 17:30:27 2016 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Nov 15 09:35:50 2016 -0500

    ctest: Improve output for `-T MemCheck`
    
    Show how many defects each test that had a defect produced.
    Also tell the user where to find the full log files.

diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx
index 0052a16..233bfdb 100644
--- a/Source/CTest/cmCTestMemCheckHandler.cxx
+++ b/Source/CTest/cmCTestMemCheckHandler.cxx
@@ -323,10 +323,8 @@ void cmCTestMemCheckHandler::GenerateDartOutput(cmXMLWriter& xml)
   }
   xml.EndElement(); // TestList
   cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT,
-                     "-- Processing memory checking output: ", this->Quiet);
+                     "-- Processing memory checking output:\n", this->Quiet);
   size_t total = this->TestResults.size();
-  size_t step = total / 10;
-  size_t current = 0;
   for (cc = 0; cc < this->TestResults.size(); cc++) {
     cmCTestTestResult* result = &this->TestResults[cc];
     std::string memcheckstr;
@@ -341,18 +339,29 @@ void cmCTestMemCheckHandler::GenerateDartOutput(cmXMLWriter& xml)
       static_cast<size_t>(this->CustomMaximumFailedTestOutputSize));
     this->WriteTestResultHeader(xml, result);
     xml.StartElement("Results");
+    int memoryErrors = 0;
     for (std::vector<int>::size_type kk = 0; kk < memcheckresults.size();
          ++kk) {
       if (memcheckresults[kk]) {
         xml.StartElement("Defect");
         xml.Attribute("type", this->ResultStringsLong[kk]);
         xml.Content(memcheckresults[kk]);
+        memoryErrors += memcheckresults[kk];
         xml.EndElement(); // Defect
       }
       this->GlobalResults[kk] += memcheckresults[kk];
     }
     xml.EndElement(); // Results
-
+    if (memoryErrors > 0) {
+      const int maxTestNameWidth = this->CTest->GetMaxTestNameWidth();
+      std::string outname = result->Name + " ";
+      outname.resize(maxTestNameWidth + 4, '.');
+      cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, cc + 1
+                           << "/" << total << " MemCheck: #"
+                           << result->TestCount << ": " << outname
+                           << "   Defects: " << memoryErrors << std::endl,
+                         this->Quiet);
+    }
     xml.StartElement("Log");
     if (this->CTest->ShouldCompressMemCheckOutput()) {
       this->CTest->CompressString(memcheckstr);
@@ -363,13 +372,16 @@ void cmCTestMemCheckHandler::GenerateDartOutput(cmXMLWriter& xml)
     xml.EndElement(); // Log
 
     this->WriteTestResultFooter(xml, result);
-    if (current < cc) {
-      cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, "#" << std::flush,
-                         this->Quiet);
-      current += step;
-    }
   }
-  cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, std::endl, this->Quiet);
+  cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT,
+                     "MemCheck log files can be found here: "
+                     "( * corresponds to test number)"
+                       << std::endl,
+                     this->Quiet);
+  std::string output = this->MemoryTesterOutputFile;
+  cmSystemTools::ReplaceString(output, "??", "*");
+  cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT, output << std::endl,
+                     this->Quiet);
   cmCTestOptionalLog(this->CTest, HANDLER_OUTPUT,
                      "Memory checking results:" << std::endl, this->Quiet);
   xml.StartElement("DefectList");
diff --git a/Tests/RunCMake/ctest_memcheck/DummyPurify-stdout.txt b/Tests/RunCMake/ctest_memcheck/DummyPurify-stdout.txt
index dabb004..69ab584 100644
--- a/Tests/RunCMake/ctest_memcheck/DummyPurify-stdout.txt
+++ b/Tests/RunCMake/ctest_memcheck/DummyPurify-stdout.txt
@@ -2,5 +2,7 @@
 
 100% tests passed, 0 tests failed out of 1
 .*
--- Processing memory checking output:( )
+-- Processing memory checking output:
+MemCheck log files can be found here:.*corresponds to test number.
+.*MemoryChecker.*log
 Memory checking results:
diff --git a/Tests/RunCMake/ctest_memcheck/DummyValgrind-stdout.txt b/Tests/RunCMake/ctest_memcheck/DummyValgrind-stdout.txt
index dabb004..69ab584 100644
--- a/Tests/RunCMake/ctest_memcheck/DummyValgrind-stdout.txt
+++ b/Tests/RunCMake/ctest_memcheck/DummyValgrind-stdout.txt
@@ -2,5 +2,7 @@
 
 100% tests passed, 0 tests failed out of 1
 .*
--- Processing memory checking output:( )
+-- Processing memory checking output:
+MemCheck log files can be found here:.*corresponds to test number.
+.*MemoryChecker.*log
 Memory checking results:
diff --git a/Tests/RunCMake/ctest_memcheck/DummyValgrindCustomOptions-stdout.txt b/Tests/RunCMake/ctest_memcheck/DummyValgrindCustomOptions-stdout.txt
index dabb004..69ab584 100644
--- a/Tests/RunCMake/ctest_memcheck/DummyValgrindCustomOptions-stdout.txt
+++ b/Tests/RunCMake/ctest_memcheck/DummyValgrindCustomOptions-stdout.txt
@@ -2,5 +2,7 @@
 
 100% tests passed, 0 tests failed out of 1
 .*
--- Processing memory checking output:( )
+-- Processing memory checking output:
+MemCheck log files can be found here:.*corresponds to test number.
+.*MemoryChecker.*log
 Memory checking results:
diff --git a/Tests/RunCMake/ctest_memcheck/DummyValgrindFailPost-stdout.txt b/Tests/RunCMake/ctest_memcheck/DummyValgrindFailPost-stdout.txt
index dabb004..69ab584 100644
--- a/Tests/RunCMake/ctest_memcheck/DummyValgrindFailPost-stdout.txt
+++ b/Tests/RunCMake/ctest_memcheck/DummyValgrindFailPost-stdout.txt
@@ -2,5 +2,7 @@
 
 100% tests passed, 0 tests failed out of 1
 .*
--- Processing memory checking output:( )
+-- Processing memory checking output:
+MemCheck log files can be found here:.*corresponds to test number.
+.*MemoryChecker.*log
 Memory checking results:
diff --git a/Tests/RunCMake/ctest_memcheck/DummyValgrindIgnoreMemcheck-stdout.txt b/Tests/RunCMake/ctest_memcheck/DummyValgrindIgnoreMemcheck-stdout.txt
index 5a5675c..88b4788 100644
--- a/Tests/RunCMake/ctest_memcheck/DummyValgrindIgnoreMemcheck-stdout.txt
+++ b/Tests/RunCMake/ctest_memcheck/DummyValgrindIgnoreMemcheck-stdout.txt
@@ -3,5 +3,7 @@
 
 100% tests passed, 0 tests failed out of 1
 .*
--- Processing memory checking output:( )
+-- Processing memory checking output:
+MemCheck log files can be found here:.*corresponds to test number.
+.*MemoryChecker.*log
 Memory checking results:
diff --git a/Tests/RunCMake/ctest_memcheck/DummyValgrindPrePost-stdout.txt b/Tests/RunCMake/ctest_memcheck/DummyValgrindPrePost-stdout.txt
index dabb004..69ab584 100644
--- a/Tests/RunCMake/ctest_memcheck/DummyValgrindPrePost-stdout.txt
+++ b/Tests/RunCMake/ctest_memcheck/DummyValgrindPrePost-stdout.txt
@@ -2,5 +2,7 @@
 
 100% tests passed, 0 tests failed out of 1
 .*
--- Processing memory checking output:( )
+-- Processing memory checking output:
+MemCheck log files can be found here:.*corresponds to test number.
+.*MemoryChecker.*log
 Memory checking results:

-----------------------------------------------------------------------

Summary of changes:
 Source/CTest/cmCTestMemCheckHandler.cxx            |   32 ++++++++++++++------
 .../RunCMake/ctest_memcheck/DummyPurify-stdout.txt |    4 ++-
 .../ctest_memcheck/DummyValgrind-stdout.txt        |    4 ++-
 .../DummyValgrindCustomOptions-stdout.txt          |    4 ++-
 .../DummyValgrindFailPost-stdout.txt               |    4 ++-
 .../DummyValgrindIgnoreMemcheck-stdout.txt         |    4 ++-
 .../ctest_memcheck/DummyValgrindPrePost-stdout.txt |    4 ++-
 7 files changed, 40 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list