【Eclipse+gcov】C/C++のコードカバレッジを計測する方法を丁寧に解説

本記事では、Eclipseとgcovを組み合わせて、C言語/C++のコードカバレッジを計測する方法をわかりやすく解説します。

 

ユニットテストの品質や、進捗状況の確認を行うのに、コートカバレッジは有益な情報の1つです。

C/C++の開発で広く採用されているEclipseと、C/C++用のコードカバレッジ測定ツールのgcovを組み合わせて、カバレッジ率を見てみましょう。

 

前提条件

すでにEclipseでユニットテストが行える状態になっていることを前提とします。まだ準備ができていない場合は、下記の記事を参考になさってください。

 

【丁寧解説】CppUTestをEclipseで動かす

 

上記の記事はユニットテストツールとしてCppUTestを使っていますが、本記事はこれに限定せずにお話します。

 

gcovプラグインのインストール

ダウンロードサイトよりgcovのプラグインをインストールします。

 

  • Help->Install New Software…
  • Work with:から『Eclipse Repository – https://download.eclipse.org/releases/2019-03』を選択
    (2019-03の部分はEclipseのバージョンによって異なります)
  • Linux Tools→GCov Integrationをインストールしてください

 

gcovプラグイン

 

gcovを有効化

GCCのオプションを追加してgcovを有効化します。

 

  • プロジェクトを右クリック→Properties
  • C/C++ Build→Settings
  • Tool Settingsタブ→GCC C++ Compiler→Debugging
  • Generate gcov information (-ftest-coverage -fprofile-arcs)にチェックを入れる
  • Tool Settingsタブ→GCC C Compiler→Debugging
  • Generate gcov information (-ftest-coverage -fprofile-arcs)にチェックを入れる
    (C++のみのプロジェクトであれば、ここは不要です)

 

gcovの有効化

 

ここで1度プロジェクトをビルドしてください。問題なければ次に進みましょう。

 

gcov用のProfileを追加

gcovを実行するProfileの設定を作成しましょう。Profileは聞きなれない機能かもしれません。これは『Run』や『Debug』と似た機能で、gcovなどのプロファイルを実行する時に使うものです。

 

  • プロジェクトを右クリック→Profile As→Profile Configurations…
  • C/C++ Applicationをダブルクリック
  • Name:に適当な名前を入れましょう。ここでは『gcov_test profile』としました。
  • Profilerタブのドロップボックスで『Gcov』を選択しましょう。他にプロファイル機能のプラグインを入れてないのであれば、Gcovが勝手に選択されます。
  • 入力が終わったら『Apply』ボタンを押して『Close』ボタンで閉じてください。

 

gcovのProfileの設定

 

gcovの実行

実行の時です。

実行する方法は2通りあります。お好みの方法を選んでください。

 

  • プロジェクトを右クリック→Profile As→『gcov_test profile』をクリック
  • デバッグボタン(虫マーク)の隣にあるプロファイルボタンをクリック

 

gcovの実行結果

 

上記のような画像が表示されれば成功です。

エディタ上のソースコードが色分けされます。緑色がユニットテストで実行されたコードを示しています。この画像にはありませんが、たくさん実行された行は色の濃い緑色になります。赤色は1度も実行されていないコードを示しています。

画面下部のgcovタブには、カバレッジ率がまとめられます。

 

ちなみに、色分けを消したい時は、プロジェクトをクリーンするか、コードを編集するとできます。

 

以上です。お疲れ様でした!