summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-cov/showProjectSummary.cpp
diff options
context:
space:
mode:
authorYing Yi <maggieyi666@gmail.com>2016-08-24 14:27:23 +0000
committerYing Yi <maggieyi666@gmail.com>2016-08-24 14:27:23 +0000
commit84dc971ee2bc444a41d01051dba5b83d103ad952 (patch)
treeed2637dc11ef83639d3aa81a281d6463dc8882fd /llvm/test/tools/llvm-cov/showProjectSummary.cpp
parentc22e32deac405e042ffe4f05bf01bd5b6e3aa536 (diff)
downloadbcm5719-llvm-84dc971ee2bc444a41d01051dba5b83d103ad952.tar.gz
bcm5719-llvm-84dc971ee2bc444a41d01051dba5b83d103ad952.zip
[llvm-cov] Add the project summary to each source file coverage report.
This patch includes the following changes: - Included header "Code coverage report" and include the date that the report was created. - Included title (as specified in a command line option, (i.e llvm-cov -project-title="Simple Test") - In the summary, list the elf files that the source code file has contributed to. - Used column heading for "Line No.", "Count No.", Source". Differential Revision: https://reviews.llvm.org/D23345 llvm-svn: 279628
Diffstat (limited to 'llvm/test/tools/llvm-cov/showProjectSummary.cpp')
-rw-r--r--llvm/test/tools/llvm-cov/showProjectSummary.cpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-cov/showProjectSummary.cpp b/llvm/test/tools/llvm-cov/showProjectSummary.cpp
new file mode 100644
index 00000000000..bfe4c0d19c7
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/showProjectSummary.cpp
@@ -0,0 +1,46 @@
+// RUN: llvm-profdata merge -o %t.profdata %S/Inputs/showProjectSummary.proftext
+
+int main(int argc, char ** argv) {
+ int x=0;
+ for (int i = 0; i < 20; ++i)
+ x *= 2;
+ if (x >= 100)
+ x = x / 2;
+ else
+ x = x * 2;
+ return x;
+}
+
+// Test console output.
+// RUN: llvm-cov show %S/Inputs/showProjectSummary.covmapping -instr-profile %t.profdata -filename-equivalence %s | FileCheck -check-prefixes=TEXT,TEXT-FILE,TEXT-HEADER %s
+// RUN: llvm-cov show %S/Inputs/showProjectSummary.covmapping -instr-profile %t.profdata -project-title "Test Suite" -filename-equivalence %s | FileCheck -check-prefixes=TEXT-TITLE,TEXT,TEXT-FILE,TEXT-HEADER %s
+// RUN: llvm-cov show %S/Inputs/showProjectSummary.covmapping -instr-profile %t.profdata -project-title "Test Suite" -name=main -filename-equivalence %s | FileCheck -check-prefixes=TEXT-FUNCTION,TEXT-HEADER %s
+// TEXT-TITLE: Test Suite
+// TEXT: Code Coverage Report
+// TEXT: Created:
+// TEXT-FILE: showProjectSummary.cpp:
+// TEXT-FILE: showProjectSummary.covmapping:
+// TEXT-FUNCTION: main:
+
+// Test html output.
+// RUN: llvm-cov show %S/Inputs/showProjectSummary.covmapping -format=html -o %t.dir -instr-profile %t.profdata -filename-equivalence %s
+// RUN: FileCheck -check-prefixes=HTML,HTML-FILE,HTML-HEADER -input-file %t.dir/coverage/tmp/showProjectSummary.cpp.html %s
+// RUN: llvm-cov show %S/Inputs/showProjectSummary.covmapping -format=html -o %t.dir -instr-profile %t.profdata -project-title "Test Suite" -filename-equivalence %s
+// RUN: FileCheck -check-prefixes=HTML-TITLE,HTML,HTML-FILE,HTML-HEADER -input-file %t.dir/coverage/tmp/showProjectSummary.cpp.html %s
+// RUN: FileCheck -check-prefixes=HTML-TITLE,HTML -input-file %t.dir/index.html %s
+// RUN: llvm-cov show %S/Inputs/showProjectSummary.covmapping -format=html -o %t.dir -instr-profile %t.profdata -project-title "Test Suite" -filename-equivalence -name=main %s
+// RUN: FileCheck -check-prefixes=HTML-FUNCTION,HTML-HEADER -input-file %t.dir/functions.html %s
+// HTML-TITLE: <div class='project-title'>
+// HTML-TITLE: <span>Test Suite</span>
+// HTML: <div class='report-title'>
+// HTML: <span>Code Coverage Report</span>
+// HTML: <div class='created-time'>
+// HTML: <span>Created:
+// HTML-FILE: <pre>Source:
+// HTML-FILE: showProjectSummary.cpp</pre>
+// HTML-FILE: <pre>Binary:
+// HTML-FILE: showProjectSummary.covmapping</pre>
+// HTML-FUNCTION: <pre>Function: main</pre>
+// HTML-HEADER: <tr><td><span><pre>Line No.</pre></span></td>
+// HTML-HEADER: <td><span><pre>Count No.</pre></span></td>
+// HTML-HEADER: <td><span><pre>Source</pre></span></td>
OpenPOWER on IntegriCloud