コードカバレッジの評価

変更に取り組んでいます。新しいコードのコードカバレッジを評価したいと考えています。

V8 では、これを行うためのツールを 2 つ提供しています。ローカル(マシン上)と、インフラサポートの構築です。

ローカル #

v8 レポジトリのルートに対して、./tools/gcov.sh(Linux でテスト済み)を使用します。これは、GNU のコードカバレッジツールと一部のスクリプティングを使用して、ディレクトリ、ファイル、およびコード行ごとのカバレッジ情報をドリルダウンできる HTML レポートを作成します。

このスクリプトは、gcov 設定を使用して、別の out ディレクトリの下に V8 を構築します。通常の構築設定との重複を避けるために別のディレクトリを使用します。この別のディレクトリは cov と呼ばれ、レポジトリルートの直下に作成されます。次に、gcov.sh はテストスイートを実行し、レポートを作成します。レポートへのパスは、スクリプトが完了したときに提供されます。

変更にアーキテクチャ固有のコンポーネントが含まれている場合は、アーキテクチャ固有の実行から累積的にカバレッジを収集できます。

./tools/gcov.sh x64 arm

これにより、アーキテクチャごとにその場で再構築され、前の実行のバイナリが上書きされますが、カバレッジの結果は保持され累積されます。

デフォルトでは、このスクリプトは Release の実行から収集します。Debug を使用したい場合は、指定できます

BUILD_TYPE=Debug ./tools/gcov.sh x64 arm arm64

オプションを指定せずにスクリプトを実行すると、オプションの概要も表示されます。

コードカバレッジボット #

適用された各変更について、x64 カバレッジ分析を実行します。詳細については、カバレッジボットを参照してください。他のアーキテクチャのカバレッジ用のボットは実行しません。

特定の実行のレポートを取得するには、ビルドステップをリストし、「gsutil coverage report」を見つけ(最後の方にあります)、その下の「report」を開きます。