2017-05-26 13 views
2

lcovgenhtmlは、リンク/ロードされていないファイルを表示するにはどうすればよいですか?テストカバレッジを表示するために使用しています。すべてのソースファイルが、カバレッジがゼロであってもHTMLレポートに表示されるようにしたいと考えています。そうすれば、lcovを使ってテストがないソースファイルを特定することができます。見つからないソースファイルには.gcnoファイルが作成されますが、.gcdaファイルは作成されません。lcov/genhtmlは実行されたことのないファイルを表示できますか?

+0

この動作を複製する最小限のサンプルコードを提供できますか? – AmeyaVS

答えて

3

すべてのファイルを表示するには、ベースラインカバレッジデータファイルを作成するために-iオプションを使用する必要があります。 データをキャプチャした後、2つのファイルを-aオプションと組み合わせる必要があります。

キャプチャ初期ゼロカバレッジデータ:

はlcovのmanページ(https://linux.die.net/man/1/lcov)の例があります。

テストケースを実行する前にlcovを-cで実行し、このオプションを.bb、 .bbgまたは.gcnoファイルを含むディレクトリに実行します。その結果、 計測されたラインごとにゼロカバレッジを含む "ベースライン"カバレッジデータファイルが作成されます。テスト中に カバレッジデータファイルをキャプチャしてこのデータファイル(lcov -aを使用)を結合して、テスト中にコードファイルがすべてロードされていない場合でも、の割合が正しくなるようにします。

推奨手順テストケースのためのデータを取り込む場合:

  1. ベースラインカバレッジ・データ・ファイルを作成

    lcov -c -i -d APPDIR -o app_base.info

  2. テストを実行します

    appdir/test

  3. ベースラインとテストカバレッジデータを組み合わせたテスト・カバレッジ・データ・ファイルを作成

    lcov -c -d APPDIR -o app_test.info

  4. lcov -a app_base.info -a app_test.info -o app_total

の.infoその後、GENHTMLのソースとしてapp_total.infoを使用する必要があります。

関連する問題