diff options
author | Sean Eveson <eveson.sean@gmail.com> | 2017-10-03 11:05:28 +0000 |
---|---|---|
committer | Sean Eveson <eveson.sean@gmail.com> | 2017-10-03 11:05:28 +0000 |
commit | b863c40437d88ceef6781fb69a9d3766d8e729ba (patch) | |
tree | af73b14f1ab49829c1029f3313194d7a5e4193be /tools/llvm-cov | |
parent | b0c3c28f198f2ba37e96579cd525be57887251b4 (diff) |
[llvm-cov] Hide files with no coverage from the index when filtering by name
Differential Revision: https://reviews.llvm.org/D38457
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314782 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-cov')
-rw-r--r-- | tools/llvm-cov/CoverageReport.cpp | 8 | ||||
-rw-r--r-- | tools/llvm-cov/CoverageReport.h | 2 | ||||
-rw-r--r-- | tools/llvm-cov/SourceCoverageView.h | 4 | ||||
-rw-r--r-- | tools/llvm-cov/SourceCoverageViewHTML.cpp | 5 | ||||
-rw-r--r-- | tools/llvm-cov/SourceCoverageViewHTML.h | 2 | ||||
-rw-r--r-- | tools/llvm-cov/SourceCoverageViewText.cpp | 3 | ||||
-rw-r--r-- | tools/llvm-cov/SourceCoverageViewText.h | 2 |
7 files changed, 14 insertions, 12 deletions
diff --git a/tools/llvm-cov/CoverageReport.cpp b/tools/llvm-cov/CoverageReport.cpp index 5c8ffe1216d..56745308b79 100644 --- a/tools/llvm-cov/CoverageReport.cpp +++ b/tools/llvm-cov/CoverageReport.cpp @@ -367,9 +367,9 @@ void CoverageReport::renderFileReports(raw_ostream &OS) const { renderFileReports(OS, UniqueSourceFiles, CoverageFiltersMatchAll()); } -void CoverageReport::renderFileReports(raw_ostream &OS, - ArrayRef<std::string> Files, - const CoverageFilter &Filters) const { +void CoverageReport::renderFileReports( + raw_ostream &OS, ArrayRef<std::string> Files, + const CoverageFiltersMatchAll &Filters) const { FileCoverageSummary Totals("TOTAL"); auto FileReports = prepareFileReports(Coverage, Totals, Files, Options, Filters); @@ -405,7 +405,7 @@ void CoverageReport::renderFileReports(raw_ostream &OS, EmptyFiles = true; } - if (EmptyFiles) { + if (EmptyFiles && Filters.empty()) { OS << "\n" << "Files which contain no functions:\n"; diff --git a/tools/llvm-cov/CoverageReport.h b/tools/llvm-cov/CoverageReport.h index d78f2e4c2bd..4126c319f43 100644 --- a/tools/llvm-cov/CoverageReport.h +++ b/tools/llvm-cov/CoverageReport.h @@ -50,7 +50,7 @@ public: /// Render file reports for the files specified in \p Files and the functions /// in \p Filters. void renderFileReports(raw_ostream &OS, ArrayRef<std::string> Files, - const CoverageFilter &Filters) const; + const CoverageFiltersMatchAll &Filters) const; }; } // end namespace llvm diff --git a/tools/llvm-cov/SourceCoverageView.h b/tools/llvm-cov/SourceCoverageView.h index 7c7e8781364..24080284d8b 100644 --- a/tools/llvm-cov/SourceCoverageView.h +++ b/tools/llvm-cov/SourceCoverageView.h @@ -22,7 +22,7 @@ namespace llvm { -class CoverageFilter; +class CoverageFiltersMatchAll; class SourceCoverageView; /// \brief A view that represents a macro or include expansion. @@ -113,7 +113,7 @@ public: /// \brief Create an index which lists reports for the given source files. virtual Error createIndexFile(ArrayRef<std::string> SourceFiles, const coverage::CoverageMapping &Coverage, - const CoverageFilter &Filters) = 0; + const CoverageFiltersMatchAll &Filters) = 0; /// @} }; diff --git a/tools/llvm-cov/SourceCoverageViewHTML.cpp b/tools/llvm-cov/SourceCoverageViewHTML.cpp index a031f184825..b8fdf4483a7 100644 --- a/tools/llvm-cov/SourceCoverageViewHTML.cpp +++ b/tools/llvm-cov/SourceCoverageViewHTML.cpp @@ -366,7 +366,8 @@ void CoveragePrinterHTML::emitFileSummary(raw_ostream &OS, StringRef SF, Error CoveragePrinterHTML::createIndexFile( ArrayRef<std::string> SourceFiles, - const coverage::CoverageMapping &Coverage, const CoverageFilter &Filters) { + const coverage::CoverageMapping &Coverage, + const CoverageFiltersMatchAll &Filters) { // Emit the default stylesheet. auto CSSOrErr = createOutputStream("style", "css", /*InToplevel=*/true); if (Error E = CSSOrErr.takeError()) @@ -419,7 +420,7 @@ Error CoveragePrinterHTML::createIndexFile( // Emit links to files which don't contain any functions. These are normally // not very useful, but could be relevant for code which abuses the // preprocessor. - if (EmptyFiles) { + if (EmptyFiles && Filters.empty()) { OSRef << tag("p", "Files which contain no functions. (These " "files contain code pulled into other files " "by the preprocessor.)\n"); diff --git a/tools/llvm-cov/SourceCoverageViewHTML.h b/tools/llvm-cov/SourceCoverageViewHTML.h index e11111a5ad2..978a75aeced 100644 --- a/tools/llvm-cov/SourceCoverageViewHTML.h +++ b/tools/llvm-cov/SourceCoverageViewHTML.h @@ -30,7 +30,7 @@ public: Error createIndexFile(ArrayRef<std::string> SourceFiles, const coverage::CoverageMapping &Coverage, - const CoverageFilter &Filters) override; + const CoverageFiltersMatchAll &Filters) override; CoveragePrinterHTML(const CoverageViewOptions &Opts) : CoveragePrinter(Opts) {} diff --git a/tools/llvm-cov/SourceCoverageViewText.cpp b/tools/llvm-cov/SourceCoverageViewText.cpp index b2902df185d..261f08d7022 100644 --- a/tools/llvm-cov/SourceCoverageViewText.cpp +++ b/tools/llvm-cov/SourceCoverageViewText.cpp @@ -30,7 +30,8 @@ void CoveragePrinterText::closeViewFile(OwnedStream OS) { Error CoveragePrinterText::createIndexFile( ArrayRef<std::string> SourceFiles, - const coverage::CoverageMapping &Coverage, const CoverageFilter &Filters) { + const coverage::CoverageMapping &Coverage, + const CoverageFiltersMatchAll &Filters) { auto OSOrErr = createOutputStream("index", "txt", /*InToplevel=*/true); if (Error E = OSOrErr.takeError()) return E; diff --git a/tools/llvm-cov/SourceCoverageViewText.h b/tools/llvm-cov/SourceCoverageViewText.h index 3a04070d1ac..5cf7caf79da 100644 --- a/tools/llvm-cov/SourceCoverageViewText.h +++ b/tools/llvm-cov/SourceCoverageViewText.h @@ -28,7 +28,7 @@ public: Error createIndexFile(ArrayRef<std::string> SourceFiles, const coverage::CoverageMapping &Coverage, - const CoverageFilter &Filters) override; + const CoverageFiltersMatchAll &Filters) override; CoveragePrinterText(const CoverageViewOptions &Opts) : CoveragePrinter(Opts) {} |