Chromium Chronicle #18: Chromium のコード カバレッジ

エピソード 18: 著者: Veenita Joshi、Prakhar Asthana、カリフォルニア州マウンテンビュー(2021 年 2 月)
前のエピソード

テスト カバレッジは、特定のテストスイートの実行時に実行されるソースコードの量を測定します。カバレッジ データの生成には、主に 3 つのステップがあります。インストルメンテーションを使用したコンパイル、インストルメンテーション テストの実行からのデータの収集、データの後処理です。カバレッジ チームには、このプロセスを自動化するツールが用意されています。

カバレッジ スクリプトは、Gerrit UI が更新されるを待たずに、1 つのコマンドだけでコード カバレッジ レポートを生成できます。このスクリプトは現在、Linux、Mac、iOS、ChromeOS でサポートされています。

使用例を次に示します。

$ gn gen out/coverage \
    --args='use_clang_coverage=true is_component_build=false'
$ 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/

これにより、crypto_unittestsurl_unittests targets がビルドされて実行されます。url_unittests の場合、テスト URLParser.PathURL のみが実行されます。カバレッジ レポートは、url/crypto/ の下のファイルとサブディレクトリのみを含むようにフィルタリングされます。このプロセスの自動化以外にも、このスクリプトは、ディレクトリやコンポーネントごとにコード カバレッジを確認するための追加機能を備えています

カバレッジ スクリプトの出力のスクリーンショット。ディレクトリ ビュー
カバレッジ スクリプトの出力のスクリーンショット。 コンポーネント ビュー

コード カバレッジ ツールを使用すると、Windows、iOS、Android、Linux、ChromeOS 用のコードベース全体で、ディレクトリとコンポーネントごとにコード カバレッジを分類できます。

フィードバックをお寄せください: code-coverage @ chromium.org にお問い合わせいただくか、crbug.com でバグを報告してください。

関連情報