]> granicus.if.org Git - llvm/commitdiff
[llvm-cov] Do not print out the filename of the object file
authorVedant Kumar <vsk@apple.com>
Tue, 25 Oct 2016 00:08:33 +0000 (00:08 +0000)
committerVedant Kumar <vsk@apple.com>
Tue, 25 Oct 2016 00:08:33 +0000 (00:08 +0000)
When we load coverage data from multiple objects, we don't have a way to
attribute a source object to a function record. Printing out the object
filename next to the source filename is already not very useful: soon,
it'll actually become misleading. Stop printing out the filename now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285043 91177308-0d34-0410-b5e6-96231b3b80d8

15 files changed:
test/tools/llvm-cov/Inputs/binary-formats.canonical.json
test/tools/llvm-cov/Inputs/highlightedRanges.json
test/tools/llvm-cov/Inputs/lineExecutionCounts.json
test/tools/llvm-cov/Inputs/regionMarkers.json
test/tools/llvm-cov/Inputs/showExpansions.json
test/tools/llvm-cov/Inputs/showProjectSummary.test
test/tools/llvm-cov/Inputs/universal-binary.json
test/tools/llvm-cov/native_separators.c
tools/llvm-cov/CodeCoverage.cpp
tools/llvm-cov/CoverageExporterJson.cpp
tools/llvm-cov/CoverageViewOptions.h
tools/llvm-cov/SourceCoverageView.cpp
tools/llvm-cov/SourceCoverageView.h
tools/llvm-cov/SourceCoverageViewHTML.cpp
tools/llvm-cov/SourceCoverageViewText.cpp

index 46ada64e731915a213dea8f7f9d3baa03a95b944..19147e2f29bbadb8d7bc3c67b1b8c45b6b2e4db0 100644 (file)
@@ -1,8 +1,8 @@
 // Metadata section
-// CHECK: {"version":"1.1.0","type":"llvm.coverage.json.export","data":[
+// CHECK: {"version":"{{[0-9]\.[0-9]\.[0-9]}}","type":"llvm.coverage.json.export","data":[
 
 // Open Export
-// CHECK-SAME: {"object":"{{[^"]+}}","files":[
+// CHECK-SAME: {"files":[
 
 // File Object
 // CHECK-SAME: {"filename":"{{[^"]+}}binary-formats.c",
index ddd472e44ec93a029547b6ce4c9b0a5250301f73..3713a4ea7c4ea8afe4f4ef2338d1ed101e6035da 100644 (file)
@@ -1,8 +1,8 @@
 // Metadata section
-// CHECK: {"version":"1.1.0","type":"llvm.coverage.json.export","data":[
+// CHECK: {"version":"{{[0-9]\.[0-9]\.[0-9]}}","type":"llvm.coverage.json.export","data":[
 
 // Open Export
-// CHECK-SAME: {"object":"{{[^"]+}}","files":[
+// CHECK-SAME: {"files":[
 
 // File Object
 // CHECK-SAME: {"filename":"{{[^"]+}}showHighlightedRanges.cpp",
index e07d0982677bc17e24c661670bb36ea1274ea732..7185d3fbf004375da19a96c45496d25d8305e4a8 100644 (file)
@@ -1,8 +1,8 @@
 // Metadata section
-// CHECK: {"version":"1.1.0","type":"llvm.coverage.json.export","data":[
+// CHECK: {"version":"{{[0-9]\.[0-9]\.[0-9]}}","type":"llvm.coverage.json.export","data":[
 
 // Open Export
-// CHECK-SAME: {"object":"{{[^"]+}}","files":[
+// CHECK-SAME: {"files":[
 
 // File Object
 // CHECK-SAME: {"filename":"{{[^"]+}}showLineExecutionCounts.cpp",
index 9048768c8eef1d2b667aff41bb639acc24b256cc..d94bdf6e82f170a12026f3c955e0d135932a93f0 100644 (file)
@@ -1,8 +1,8 @@
 // Metadata section
-// CHECK: {"version":"1.1.0","type":"llvm.coverage.json.export","data":[
+// CHECK: {"version":"{{[0-9]\.[0-9]\.[0-9]}}","type":"llvm.coverage.json.export","data":[
 
 // Open Export
-// CHECK-SAME: {"object":"{{[^"]+}}","files":[
+// CHECK-SAME: {"files":[
 
 // File Object
 // CHECK-SAME: {"filename":"{{[^"]+}}showRegionMarkers.cpp",
index 6821fd6ac8a1ed200ab881870ff94beed38a1756..893e25a5dd0389422aa114cd7747027404d2291f 100644 (file)
@@ -1,8 +1,8 @@
 // Metadata section
-// CHECK: {"version":"1.1.0","type":"llvm.coverage.json.export","data":[
+// CHECK: {"version":"{{[0-9]\.[0-9]\.[0-9]}}","type":"llvm.coverage.json.export","data":[
 
 // Open Export
-// CHECK-SAME: {"object":"{{[^"]+}}","files":[
+// CHECK-SAME: {"files":[
 
 // File Object
 // CHECK-SAME: {"filename":"{{[^"]+}}showExpansions.cpp",
index 4fb82fbdddc9694b9e5806447e753e25aebec2d1..eb0222677eaa57dbce325feb92e6e20e0386a8aa 100644 (file)
@@ -1,14 +1,13 @@
 TEXT-TITLE: Test Suite
 TEXT-NOT: Coverage Report
 TEXT-NOT: Created:
-TEXT-FILE-NOT: (Binary: showProjectSummary.covmapping)
 TEXT-FUNCTION: main:
 TEXT-FOOTER: Generated by llvm-cov
 
 HTML-TITLE: <h1>Test Suite</h1>
 HTML: <h2>Coverage Report</h2>
 HTML: <h4>Created:{{.*}}</h4>
-HTML-FILE: <pre>{{.*}}showProjectSummary.cpp (Binary: showProjectSummary.covmapping)</pre>
+HTML-FILE: <pre>{{.*}}showProjectSummary.cpp</pre>
 HTML-FUNCTION: <pre>main</pre>
 HTML-HEADER: <td><pre>Line</pre></td>
 HTML-HEADER: <td><pre>Count</pre></td>
index ec32adbe2a59eb72681ac0e464f5d8790b18e79b..54b9e228b4fb792c95cdcbe618cc8ae34b604e27 100644 (file)
@@ -1,8 +1,8 @@
 // Metadata section
-// CHECK: {"version":"1.1.0","type":"llvm.coverage.json.export","data":[
+// CHECK: {"version":"{{[0-9]\.[0-9]\.[0-9]}}","type":"llvm.coverage.json.export","data":[
 
 // Open Export
-// CHECK-SAME: {"object":"{{[^"]+}}","files":[
+// CHECK-SAME: {"files":[
 
 // File Object
 // CHECK-SAME: {"filename":"{{[^"]+}}universal-binary.c",
index 3db888689c451f8a91684005c92a7eea5befae8d..adc167bf3d7eb8803c32a1cc1072556b1b27b9eb 100644 (file)
@@ -15,6 +15,6 @@
 
 // TEXT-INDEX: \tmp\native_separators.c
 // HTML-INDEX: >tmp\native_separators.c</a>
-// HTML: <pre>\tmp\native_separators.c (Binary: native_separators.covmapping)</pre>
+// HTML: <pre>\tmp\native_separators.c</pre>
 
 int main() {}
index 15d257914a5b1cf68237f9bc7000b735364b223c..6bd61d3ef754d1e884d99c4ce00e97179b5d3f10 100644 (file)
@@ -39,8 +39,7 @@
 using namespace llvm;
 using namespace coverage;
 
-void exportCoverageDataToJson(StringRef ObjectFilename,
-                              const coverage::CoverageMapping &CoverageMapping,
+void exportCoverageDataToJson(const coverage::CoverageMapping &CoverageMapping,
                               raw_ostream &OS);
 
 namespace {
@@ -570,13 +569,6 @@ int CodeCoverageTool::run(Command Cmd, int argc, const char **argv) {
     CompareFilenamesOnly = FilenameEquivalence;
 
     ViewOpts.Format = Format;
-    SmallString<128> ObjectFilePath(this->ObjectFilename);
-    if (std::error_code EC = sys::fs::make_absolute(ObjectFilePath)) {
-      error(EC.message(), this->ObjectFilename);
-      return 1;
-    }
-    sys::path::native(ObjectFilePath);
-    ViewOpts.ObjectFilename = ObjectFilePath.c_str();
     switch (ViewOpts.Format) {
     case CoverageViewOptions::OutputFormat::Text:
       ViewOpts.Colors = UseColor == cl::BOU_UNSET
@@ -843,7 +835,7 @@ int CodeCoverageTool::export_(int argc, const char **argv,
     return 1;
   }
 
-  exportCoverageDataToJson(ObjectFilename, *Coverage.get(), outs());
+  exportCoverageDataToJson(*Coverage.get(), outs());
 
   return 0;
 }
index 1b5a1ac01c55e3848487ac6c8eedc896c60b5c66..ef50bba2123852d50eefb1b79cedcee591593181 100644 (file)
@@ -48,7 +48,7 @@
 #include <stack>
 
 /// \brief The semantic version combined as a string.
-#define LLVM_COVERAGE_EXPORT_JSON_STR "1.1.0"
+#define LLVM_COVERAGE_EXPORT_JSON_STR "2.0.0"
 
 /// \brief Unique type identifier for JSON coverage export.
 #define LLVM_COVERAGE_EXPORT_JSON_TYPE_STR "llvm.coverage.json.export"
@@ -57,9 +57,6 @@ using namespace llvm;
 using namespace coverage;
 
 class CoverageExporterJson {
-  /// \brief A Name of the object file coverage is for.
-  StringRef ObjectFilename;
-
   /// \brief Output stream to print JSON to.
   raw_ostream &OS;
 
@@ -72,9 +69,6 @@ class CoverageExporterJson {
   /// \brief Tracks state of the JSON output.
   std::stack<JsonState> State;
 
-  /// \brief Get the object filename.
-  StringRef getObjectFilename() const { return ObjectFilename; }
-
   /// \brief Emit a serialized scalar.
   void emitSerialized(const int64_t Value) { OS << Value; }
 
@@ -170,7 +164,6 @@ class CoverageExporterJson {
 
     // Start Export.
     emitDictStart();
-    emitDictElement("object", getObjectFilename());
 
     emitDictKey("files");
 
@@ -410,9 +403,8 @@ class CoverageExporterJson {
   }
 
 public:
-  CoverageExporterJson(StringRef ObjectFilename,
-                       const CoverageMapping &CoverageMapping, raw_ostream &OS)
-      : ObjectFilename(ObjectFilename), OS(OS), Coverage(CoverageMapping) {
+  CoverageExporterJson(const CoverageMapping &CoverageMapping, raw_ostream &OS)
+      : OS(OS), Coverage(CoverageMapping) {
     State.push(JsonState::None);
   }
 
@@ -421,10 +413,9 @@ public:
 };
 
 /// \brief Export the given CoverageMapping to a JSON Format.
-void exportCoverageDataToJson(StringRef ObjectFilename,
-                              const CoverageMapping &CoverageMapping,
+void exportCoverageDataToJson(const CoverageMapping &CoverageMapping,
                               raw_ostream &OS) {
-  auto Exporter = CoverageExporterJson(ObjectFilename, CoverageMapping, OS);
+  auto Exporter = CoverageExporterJson(CoverageMapping, OS);
 
   Exporter.print();
 }
index faa46da53ed315b45427008ea5b100ad68ec60ee..266b380b7d39e93b5e36dd58d328b587548ba350 100644 (file)
@@ -36,7 +36,6 @@ struct CoverageViewOptions {
   std::vector<std::string> DemanglerOpts;
   uint32_t TabSize;
   std::string ProjectTitle;
-  std::string ObjectFilename;
   std::string CreatedTimeStr;
 
   /// \brief Change the output's stream color if the colors are enabled.
index 8b3ffe7c63a09f31236b2ca97447025ee92e295b..52b8ff1747fe57f5f597e43beca7bceffe8697c9 100644 (file)
@@ -149,11 +149,6 @@ std::string SourceCoverageView::getSourceName() const {
   return SourceText.str();
 }
 
-std::string SourceCoverageView::getVerboseSourceName() const {
-  return getSourceName() + " (Binary: " +
-         sys::path::filename(getOptions().ObjectFilename).str() + ")";
-}
-
 void SourceCoverageView::addExpansion(
     const coverage::CounterMappingRegion &Region,
     std::unique_ptr<SourceCoverageView> View) {
index 2069fe56d8c4a2f11fced65cf3d644d4ad339b5f..21672f5e7381ac1a0491656e548b565b6d6c8fcc 100644 (file)
@@ -277,10 +277,6 @@ public:
   /// \brief Return the source name formatted for the host OS.
   std::string getSourceName() const;
 
-  /// \brief Return a verbose description of the source name and the binary it
-  /// corresponds to.
-  std::string getVerboseSourceName() const;
-
   const CoverageViewOptions &getOptions() const { return Options; }
 
   /// \brief Add an expansion subview to this view.
index 2707260b8add68e4d24235013bc0efe6e7d96ed3..b43db61d89d42fd8c34a91509b1c39e2e6f1dd62 100644 (file)
@@ -406,11 +406,8 @@ void SourceCoverageViewHTML::renderViewFooter(raw_ostream &OS) {
 }
 
 void SourceCoverageViewHTML::renderSourceName(raw_ostream &OS, bool WholeFile) {
-  OS << BeginSourceNameDiv;
-  std::string ViewInfo = escape(
-      WholeFile ? getVerboseSourceName() : getSourceName(), getOptions());
-  OS << tag("pre", ViewInfo);
-  OS << EndSourceNameDiv;
+  OS << BeginSourceNameDiv << tag("pre", escape(getSourceName(), getOptions()))
+     << EndSourceNameDiv;
 }
 
 void SourceCoverageViewHTML::renderLinePrefix(raw_ostream &OS, unsigned) {
index 68891298a07b69bf7cdc23ed5d74ac215ff0cdcb..4ad120f642ebab0bcffdfb56cf8b26d0eda0182e 100644 (file)
@@ -70,8 +70,8 @@ void SourceCoverageViewText::renderViewHeader(raw_ostream &) {}
 void SourceCoverageViewText::renderViewFooter(raw_ostream &) {}
 
 void SourceCoverageViewText::renderSourceName(raw_ostream &OS, bool WholeFile) {
-  std::string ViewInfo = WholeFile ? getVerboseSourceName() : getSourceName();
-  getOptions().colored_ostream(OS, raw_ostream::CYAN) << ViewInfo << ":\n";
+  getOptions().colored_ostream(OS, raw_ostream::CYAN) << getSourceName()
+                                                      << ":\n";
 }
 
 void SourceCoverageViewText::renderLinePrefix(raw_ostream &OS,