diff options
author | Ying Yi <maggieyi666@gmail.com> | 2016-07-22 12:46:13 +0000 |
---|---|---|
committer | Ying Yi <maggieyi666@gmail.com> | 2016-07-22 12:46:13 +0000 |
commit | e59ee43cf17a7b9dfc5ff4556328d19a2779c2e7 (patch) | |
tree | 5df5c1d5573acd0288b8a0c6bb742d1d42c66841 /llvm/tools/llvm-cov/CoverageReport.cpp | |
parent | f67fbfaa8c627bfbc628adecd4eed80fd85100b4 (diff) | |
download | llvm-e59ee43cf17a7b9dfc5ff4556328d19a2779c2e7.zip llvm-e59ee43cf17a7b9dfc5ff4556328d19a2779c2e7.tar.gz llvm-e59ee43cf17a7b9dfc5ff4556328d19a2779c2e7.tar.bz2 |
[llvm-cov] - Add the coverage of lines in the summary report.
The llvm-cov ‘report' command displays a summary of the coverage of a binary file.
The summary report currently only includes covered regions and covered functions.
This patch adds the coverage of lines in the summary report.
Differential Revision: https://reviews.llvm.org/D22569
llvm-svn: 276409
Diffstat (limited to 'llvm/tools/llvm-cov/CoverageReport.cpp')
-rw-r--r-- | llvm/tools/llvm-cov/CoverageReport.cpp | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/llvm/tools/llvm-cov/CoverageReport.cpp b/llvm/tools/llvm-cov/CoverageReport.cpp index 10e53b3..ab74568 100644 --- a/llvm/tools/llvm-cov/CoverageReport.cpp +++ b/llvm/tools/llvm-cov/CoverageReport.cpp @@ -88,7 +88,8 @@ static Column column(StringRef Str, unsigned Width, const T &Value) { return Column(Str, Width).set(Value); } -static size_t FileReportColumns[] = {25, 10, 8, 8, 10, 10}; +// Specify the default column widths. +static size_t FileReportColumns[] = {25, 12, 18, 10, 12, 18, 10, 12, 18, 10}; static size_t FunctionReportColumns[] = {25, 10, 8, 8, 10, 8, 8}; /// \brief Adjust column widths to fit long file paths and function names. @@ -136,10 +137,24 @@ void CoverageReport::render(const FileCoverageSummary &File, raw_ostream &OS) { File.RegionCoverage.getPercentCovered()) << '%'; OS << format("%*u", FileReportColumns[4], (unsigned)File.FunctionCoverage.NumFunctions); + OS << format("%*u", FileReportColumns[5], + (unsigned)(File.FunctionCoverage.NumFunctions - + File.FunctionCoverage.Executed)); Options.colored_ostream( OS, determineCoveragePercentageColor(File.FunctionCoverage)) - << format("%*.2f", FileReportColumns[5] - 1, + << format("%*.2f", FileReportColumns[6] - 1, File.FunctionCoverage.getPercentCovered()) << '%'; + OS << format("%*u", FileReportColumns[7], + (unsigned)File.LineCoverage.NumLines); + Options.colored_ostream(OS, File.LineCoverage.isFullyCovered() + ? raw_ostream::GREEN + : raw_ostream::RED) + << format("%*u", FileReportColumns[8], + (unsigned)File.LineCoverage.NotCovered); + Options.colored_ostream(OS, + determineCoveragePercentageColor(File.LineCoverage)) + << format("%*.2f", FileReportColumns[9] - 1, + File.LineCoverage.getPercentCovered()) << '%'; OS << "\n"; } @@ -211,10 +226,15 @@ void CoverageReport::renderFileReports(raw_ostream &OS) { adjustColumnWidths(Coverage.get()); OS << column("Filename", FileReportColumns[0]) << column("Regions", FileReportColumns[1], Column::RightAlignment) - << column("Miss", FileReportColumns[2], Column::RightAlignment) + << column("Missed Regions", FileReportColumns[2], Column::RightAlignment) << column("Cover", FileReportColumns[3], Column::RightAlignment) << column("Functions", FileReportColumns[4], Column::RightAlignment) - << column("Executed", FileReportColumns[5], Column::RightAlignment) + << column("Missed Functions", FileReportColumns[5], + Column::RightAlignment) + << column("Executed", FileReportColumns[6], Column::RightAlignment) + << column("Lines", FileReportColumns[7], Column::RightAlignment) + << column("Missed Lines", FileReportColumns[8], Column::RightAlignment) + << column("Cover", FileReportColumns[9], Column::RightAlignment) << "\n"; renderDivider(FileReportColumns, OS); OS << "\n"; |