Add Clang based code coverage script for Chrome |
||||||||||||||||||
Issue description
,
Nov 29 2017
,
Nov 29 2017
,
Nov 29 2017
,
Dec 4 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/506e8823c824de70a3315fade97e1b8ea2b733b5 commit 506e8823c824de70a3315fade97e1b8ea2b733b5 Author: Yuke Liao <liaoyuke@chromium.org> Date: Mon Dec 04 16:52:54 2017 [Coverage] Create code coverage script. This CL adds the first version of the code coverage script, which is able to generate line by line code coverage report in html for files involved when running test targets. Bug: 784464 Change-Id: I0b8f894ca424e02c3e8a3176d2988df0a2e9d239 Reviewed-on: https://chromium-review.googlesource.com/764949 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Reviewed-by: Max Moroz <mmoroz@chromium.org> Commit-Queue: Yuke Liao <liaoyuke@chromium.org> Cr-Commit-Position: refs/heads/master@{#521367} [add] https://crrev.com/506e8823c824de70a3315fade97e1b8ea2b733b5/tools/code_coverage/OWNERS [add] https://crrev.com/506e8823c824de70a3315fade97e1b8ea2b733b5/tools/code_coverage/coverage.py [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/croc.css [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/croc.py [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/croc_html.py [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/croc_scan.py [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/croc_scan_test.py [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/croc_test.py [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/example.croc [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/third_party/README.chromium [delete] https://crrev.com/113e9e022f1cdb5fe2499bc8a71bedb5ff16ea40/tools/code_coverage/third_party/sorttable.js
,
Dec 4 2017
,
Dec 5 2017
,
Dec 5 2017
,
Dec 22 2017
,
Jan 5 2018
,
Jan 5 2018
,
Jan 5 2018
,
Jan 11 2018
,
Jan 11 2018
,
Jan 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d4a986520bd5d86e41fc35d6ef8290b1b3ce231c commit d4a986520bd5d86e41fc35d6ef8290b1b3ce231c Author: Yuke Liao <liaoyuke@chromium.org> Date: Fri Jan 12 23:17:52 2018 [Coverage] Update code coverage tool to use %Nm option. Previously, the code coverage script uses "%p" option to run the instrumented program, this won't work because this option generates one profraw file per process, and Chrome's large unittest target always run in hundreds of processes, which results in generating too many profraw data files that take unreasonable amount of disk space. This CL updates to use the "%Nm" option, "%Nm" generates the same data as "%p" but only creates less than 10 profraw data files. This CL also deletes generated profraw data files once it's merged to save disk space. Bug: 784464 Change-Id: Id5516a4b3b7878c6290405259451641b93b1007f Reviewed-on: https://chromium-review.googlesource.com/864893 Reviewed-by: Max Moroz <mmoroz@chromium.org> Reviewed-by: Abhishek Arya <inferno@chromium.org> Commit-Queue: Yuke Liao <liaoyuke@chromium.org> Cr-Commit-Position: refs/heads/master@{#529100} [modify] https://crrev.com/d4a986520bd5d86e41fc35d6ef8290b1b3ce231c/tools/code_coverage/coverage.py
,
Mar 1 2018
,
Mar 21 2018
,
Mar 27 2018
,
May 2 2018
,
May 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7c5354fc882af70a4c9c9b0a20d01f8c42f2cb33 commit 7c5354fc882af70a4c9c9b0a20d01f8c42f2cb33 Author: Max Moroz <mmoroz@chromium.org> Date: Sun May 06 00:03:48 2018 [Code Coverage] Update output dir structure for multi-platform support. Also write output of llvm-cov export program on the disk (needed for the bot). Plus some refactoring for logs from target programs: - redirect stderr from targets into stdout to be written into a .log - write logs into its own subdir for better output structure Not output folder structure look as follows: $ ls -l out/zreport15/ total 8 drwxr-x--- 5 mmoroz primarygroup 4096 May 4 10:53 linux -rw-r--r-- 1 mmoroz primarygroup 2519 May 4 10:53 style.css $ ls -l out/zreport15/linux/ total 48 drwxr-xr-x 2 mmoroz primarygroup 4096 May 4 10:53 components -rw-r--r-- 1 mmoroz primarygroup 1627 May 4 10:53 component_view_index.html -rw-r--r-- 1 mmoroz primarygroup 4672 May 4 10:53 coverage.profdata -rw-r--r-- 1 mmoroz primarygroup 241 May 4 10:53 directory_view_index.html -rw-r--r-- 1 mmoroz primarygroup 7416 May 4 10:53 file_view_index.html -rw-r--r-- 1 mmoroz primarygroup 200 May 4 10:53 index.html drwxr-xr-x 2 mmoroz primarygroup 4096 May 4 10:53 logs -rw-r--r-- 1 mmoroz primarygroup 7483 May 4 10:53 summary.json drwxr-x--- 3 mmoroz primarygroup 4096 May 4 10:53 usr Bug: 784464 , 836663 Change-Id: I3283f16b62cfeb267bb2b3092fa469d5ff39ef14 Reviewed-on: https://chromium-review.googlesource.com/1044652 Commit-Queue: Abhishek Arya <inferno@chromium.org> Reviewed-by: Abhishek Arya <inferno@chromium.org> Cr-Commit-Position: refs/heads/master@{#556348} [modify] https://crrev.com/7c5354fc882af70a4c9c9b0a20d01f8c42f2cb33/tools/code_coverage/coverage.py
,
May 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fb70b53a802b1ae4b4df4b5d196f4413a28fc574 commit fb70b53a802b1ae4b4df4b5d196f4413a28fc574 Author: Abhishek Arya <inferno@chromium.org> Date: Sun May 06 17:47:40 2018 Add assert to check coverage file path have source root. TBR=mmoroz@chromium.org Bug: 784464 , 836663 Change-Id: I09c05445b1a86de19ef41d40e7e6fa72ce361390 Reviewed-on: https://chromium-review.googlesource.com/1046151 Reviewed-by: Abhishek Arya <inferno@chromium.org> Reviewed-by: Yuke Liao <liaoyuke@chromium.org> Commit-Queue: Abhishek Arya <inferno@chromium.org> Cr-Commit-Position: refs/heads/master@{#556357} [modify] https://crrev.com/fb70b53a802b1ae4b4df4b5d196f4413a28fc574/tools/code_coverage/coverage.py
,
May 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/78120bc8502390cfbf483f5c2f92dc5befb5e893 commit 78120bc8502390cfbf483f5c2f92dc5befb5e893 Author: Abhishek Arya <inferno@chromium.org> Date: Mon May 07 20:53:54 2018 Add logging in coverage script to debug ldd execution time. Also, avoid reading shared library content for ones that are already processed. R=mmoroz@chromium.org Bug: 784464 , 836663 Change-Id: Iee42cbc71058457737f2ffaf4a5e22bfc85f7163 Reviewed-on: https://chromium-review.googlesource.com/1048305 Reviewed-by: Yuke Liao <liaoyuke@chromium.org> Reviewed-by: Max Moroz <mmoroz@chromium.org> Cr-Commit-Position: refs/heads/master@{#556563} [modify] https://crrev.com/78120bc8502390cfbf483f5c2f92dc5befb5e893/tools/code_coverage/coverage.py
,
May 8 2018
,
May 10 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1c97ea548f8d4cb5cbb285353839ca5128b5af49 commit 1c97ea548f8d4cb5cbb285353839ca5128b5af49 Author: Abhishek Arya <inferno@chromium.org> Date: Thu May 10 03:53:19 2018 Coverage: Add llvm-symbolizer to path for symbolized stacks R=mmoroz@chromium.org,liaoyuke@chromium.org Bug: 784464 , 841513 Change-Id: Ia592f2c0145d9117e6c59d14c6b1685d104429c0 Reviewed-on: https://chromium-review.googlesource.com/1053161 Reviewed-by: Max Moroz <mmoroz@chromium.org> Commit-Queue: Abhishek Arya <inferno@chromium.org> Cr-Commit-Position: refs/heads/master@{#557446} [modify] https://crrev.com/1c97ea548f8d4cb5cbb285353839ca5128b5af49/tools/code_coverage/coverage.py |
||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||
Comment 1 by liaoyuke@chromium.org
, Nov 17 2017