コンテンツ
1. Lcovとは何ですか?
2. LinuxプラットフォームにLcovをインストールするにはどうすればよいですか?
3.使用する方法Lcovを?
(1)lcovを使用してカバレッジデータを収集し、ファイルに書き込みます
(2)使用してするGENHTML生成HTML-基づいて出力を
(3)例のグラフィック表示
4.コンパイルlcovの自身の例
5 。その他のツール
(1)gcov-dump
(2)ggcov
1. Lcovとは何ですか?
- これは、GCOV用のグラフィカルフロントエンドツールです。
- これは、Linuxテストプロジェクトによって維持されているオープンソースツールであり、元々はLinuxカーネルカバレッジの測定をサポートするように設計されています。
- Html出力に基づいて、完全なHTMLツリーを生成します
- 出力には、概要、カバレッジパーセンテージ、グラフが含まれ、カバレッジデータをすばやく参照できます
- 大規模プロジェクトのサポート。ディレクトリビュー、ファイルビュー、ソースコードビューの3つのレベルのビューを提供します。
lcovを使用してカバレッジデータを収集し、genhtmlを使用してHTMLページを作成します。カバレッジデータは、現在実行中のLinuxカーネルまたはユーザースペースアプリケーションから収集できます。これを行うには、次の準備手順を完了する必要があります。
Linuxカーネルカバレッジの場合:
gcov-kernelインフラストラクチャのセットアップ手順に従います。
http://ltp.sourceforge.net/coverage/gcov.php
ユーザースペースアプリケーションカバレッジの場合:
オプション「-fprofile-arcs」および「-ftest-coverage」を使用して、GCCでアプリケーションをコンパイルします。
2. LinuxプラットフォームにLcovをインストールするにはどうすればよいですか?
#wget http://downloads.sourceforge.net/ltp/lcov-1.9.tar.gz
#tar -zxvf lcov-1.9.tar.gz
#cd lcov-1.9
#ls
bin contrib description.tests lcovrc man rpm
変更コピーの例MakefileREADME
#インストールする
コンパイルする必要はありません。直接インストールするだけで、lcov、gendesc、genhtml、geninfo、genpngが/ usr / binディレクトリにインストールされます。
3.使用する方法Lcovを?
LinuxプラットフォームのコードカバレッジテストツールGCOVの紹介の例を見てみましょう。
(1)lcovを使用してカバレッジデータを収集し、ファイルに書き込みます
#lcov --capture--directory 。--output-file test.info --test-name test
からカバレッジデータをキャプチャします。
見つかったgcovバージョン:4.1.2
スキャン。.gcdaファイルの場合..。
で1つのデータファイルが見つかりました。
test.gcdaを処理しています
.infoファイルの作成が完了しました
。現在のディレクトリを表し、カバレッジデータ、つまりファイル内の.gcda情報を収集し、test.infoファイルを書き込み、Testという名前を付けます。その他のオプションについては、lcovのマニュアルページを参照してください。
test.infoファイルの内容は以下のとおりです。
TN:テスト
SF:/home/zubo/gcc/2011-04-10.sample/test.c
FN:4、メイン
FNDA:1、メイン
FNF:1
FNH:1
丘:9,2,0,10
丘:9,2,1,1
丘:12,0,0,0
丘:12,0,1,1
BRF:4
BRH:3
DA:4.1
DA:7.1
DA:9.11
DA:10.10
DA:12.1
DA:13.0
DA:15.1
DA:16.1
LF:8
LH:7
end_of_record
(2)使用してするGENHTML生成HTML-基づいて出力を
#genhtml test.info --output-directory output --title "a simple test" --show-details --legend
データファイルtest.infoの読み取り
1つのエントリが見つかりました。
共通のファイル名プレフィックス「/ home / zubo」が見つかりました
.cssおよび.pngファイルの書き込み。
出力を生成しています。
ファイルgcc / 2011-04-10.sample /test.cを処理しています
ディレクトリビューページの作成。
全体的なカバレッジ率:
行......:87.5%(8行中7行)
関数..:100.0%(1/1関数)
ブランチ...:75.0%(4ブランチのうち3ブランチ)
オプションの説明については、genhtmlのマニュアルページを参照してください。CDへの出力ディレクトリには、次のように関連するファイルの多くは、生成されていることがわかります。
#cd出力
#ls
amber.png gcov.css index-sort-b.html ruby.png
emerald.png glass.png index-sort-f.html snow.png
gcc index.html index-sort-l.html updown.png
(3)例のグラフィック表示
(3.1)トップレベルビュー
(3.2)ファイルまたは関数の表示
4.コンパイルlcovの自身の例
#cd /usr/src/lcov-1.9/example
#作る
結果をコンパイル、実行、および表示することは、ツールをすばやく学習するための最良の方法です。例のメイクファイルとコンパイル済みの出力には、概念と使用コマンドを学ぶことができます。HTML形式の出力をすることが可能で見る/usr/src/lcov-1.9/example/output/index.html。読者は自分で実験することができます。
5.その他の関連ツール
(1)gcov-dump
おそらく、我々はまた、使用することができますgcovのダンプ出力にコマンドをgcovの関連データが、gccがコンパイルされないことでgcovのダンプをデフォルトので、それを使用するには、再コンパイルする必要があるかもしれませんgccの。
(2)ggcov
Ggcovは、gcovテストカバレッジデータを表示するためのグラフィカルツールです。詳細については、http://ggcov.sourceforge.netを参照してください。
参照
lcovのマニュアルページ
genhtmlのマニュアルページ
geninfoのマニュアルページ
lcovのreadmeファイル紙/ USR / SRC / lcov-1.9 / README
ここでのメイクファイルドキュメントのlcovは/ usr / src / lcov-1.9 / Makefileです。