0
Files
src/docs/code_coverage.md
Yuke Liao d3b46273e3 [Coverage] Add documentation for Clang source based code coverage.
Change-Id: I6c3920ca92cf05b41fe69c74936cc0578841847f

Bug: chromium:821851
Change-Id: I6c3920ca92cf05b41fe69c74936cc0578841847f
Reviewed-on: https://chromium-review.googlesource.com/952296
Commit-Queue: Yuke Liao <liaoyuke@chromium.org>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543125}
2018-03-14 18:25:14 +00:00

1.4 KiB

Code coverage in Chromium

Coverage script.

Coverage script helps to generate clang source-based code coverage report locally and make it easy to identify under-covered areas.

Currently, this script supports running on Linux, Mac, iOS and ChromeOS platforms, and supports displaying code coverage results per directory, per component and per file.

In order to generate code coverage report, you need to first add use_clang_coverage=true and is_component_build=false GN flags to args.gn file in your build output directory (e.g. out/coverage).

Existing implementation requires is_component_build=false flag because coverage info for dynamic libraries may be missing and is_component_build is set to true by is_debug unless it is explicitly set to false.

Example usage:

gn gen out/coverage --args='use_clang_coverage=true is_component_build=false'
gclient runhooks
python tools/code_coverage/coverage.py crypto_unittests url_unittests
      -b out/coverage -o out/report -c 'out/coverage/crypto_unittests'
      -c 'out/coverage/url_unittests --gtest_filter=URLParser.PathURL'
      -f url/ -f crypto/

For more options, please refer to the script.

Reporting problems

For any breakage report and feature requests, please file a bug.