[[PageNavi(NavigationList)]]
== readme ==
{{{ html
<span style="float:right">
}}}
{{{ GoogleAdsense
<script type="text/javascript"><!--
google_ad_client = "ca-pub-0702888637712330";
/* 300*250 11/12/04作成 */
google_ad_slot = "7461422350";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
}}}
{{{ html
</span>
}}}
-------------------------------------------------
README file for the LTP GCOV extension (LCOV) [[BR]]
Last changes: 2010-08-06
-------------------------------------------------
=== 説明 ===
LCOVはGCOV(特定のテストケースの実行中に実際に実行された(すなわち、網羅)
プログラムの一部について情報を提供するGUNツール)の拡張機能です。
拡張は、次の拡張機能を実装するためにテキスト形式のGCOV出力上に構築する
PERLスクリプトのセットで構成されています。
* HTMLベースの出力:カバレッジ率はさらにバーグラフと特定の色を使用して示されます。
* 大規模なプロジェクトのサポート:ディレクトリビュー、ファイルビューと
ソースコードビュー:概要ページには、迅速な細部の3つのレベルを提供することにより、
カバレッジデータのブラウジングを可能にする。
LCOVは、最初にLinuxカーネルのカバレッジ測定をサポートするように設計されていますが、
標準のユーザ空間のアプリケーション上でカバレッジ測定用として適していた。
=== さらなるREADMEの内容 ===
[#1.ImportantFiles 1.含まれるファイル][[BR]]
[#2.InstallingLCOV 2.LCOVのインストール][[BR]]
[#3.AnExampleOfHowToAccessKernelCoverageData 3.カーネルのカバレッジデータをアクセスする方法の例][[BR]]
[#4.AnExampleOfHowToAccessCoverageDataForAUserSpaceProgram 4.ユーザ空間のプログラムのカバレッジデータをアクセスする方法の例][[BR]]
[#5.QuestionsAndComments 5.質問とコメント][[BR]]
=== 1.含まれるファイル === #1.ImportantFiles
{{{ pre
README - このファイル
CHANGES - 変更履歴
bin/lcov - LCOVカバレッジデータをキャプチャするためのツール
bin/genhtml - LCOVデータからHTML出力を作成するためのツール
bin/gendesc - genhtmlから使用され、説明ファイルを作成するためのツール
bin/geninfo - 内部ツール(LCOVデータファイルを作成する)
bin/genpng - 内部ツール(ソースファイルのPNGの概要を作成する)
bin/install.sh - 内部ツール(インストール/アンインストールを処理する)
descriptions.tests - LTPスイートのテストの説明。gendescで使用
man - 含まれるツールに対してのmanページを含むディレクトリ
example - LCOVを実証する例を含むディレクトリ
lcovrc - LCOVの設定ファイル
Makefile - Makefileは、"インストール"と"アンインストール"のターゲットを提供する
}}}
{{{ html
<span style="float:left">
}}}
{{{ GoogleAdsense
<script type="text/javascript"><!--
google_ad_client = "ca-pub-0702888637712330";
/* 300*250 11/12/04作成 */
google_ad_slot = "7461422350";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
}}}
{{{ html
</span>
}}}
=== 2.LCOVのインストール === #2.InstallingLCOV
LCOVのパッケージはRPMもしくはtarbollのどちらかとして利用可能です:
http://ltp.sourceforge.net/coverage/lcov.php
tarballをインストールするには、ディレクトリに解凍し、実行します:
make install
最新の(しかしおそらく不安定な)バージョンに対して匿名ユーザでCVSを使用:
cvs -d:pserver:anonymous@ltp.cvs.sourceforge.net:/cvsroot/ltp login
(パスワードを要求されたら、単にENTERキーを押す)
cvs -z3 -d:pserver:anonymous@ltp.cvs.sourceforge.net:/cvsroot/ltp export -D now utils
utils/analysis/lcov ディレクトリに移動し、入力します:
make install
=== 3.カーネルのカバレッジデータをアクセスする方法の例 === #3.AnExampleOfHowToAccessKernelCoverageData
要件:以下から、gcovカーネルパッケージを取得し、インストールしてください。
http://sourceforge.net/projects/ltp
PERLスクリプトでシステム全体のモジュールディレクトリか、
同じディレクトリのいずれかに結果gcovのカーネルモジュールファイルをコピーします。
rootになって、次の手順を実行します。
a) カウンターをリセット
lcov --zerocounters
b) ファイルに現在のカバレッジの状態をキャプチャする
lcov --capture --output-file kernel.info
c) HTML出力の取得
genhtml kernel.info
結果のindex.htmlファイルを指定したウェブブラウザで開く。
=== 4.ユーザ空間のプログラムのカバレッジデータをアクセスする方法の例 === #4.AnExampleOfHowToAccessCoverageDataForAUserSpaceProgram
{{{ html
<span style="float:left">
}}}
{{{ GoogleAdsense
<script type="text/javascript"><!--
google_ad_client = "ca-pub-0702888637712330";
/* 300*250 11/12/04作成 */
google_ad_slot = "7461422350";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
}}}
{{{ html
</span>
}}}
要件:オプション「-fprofile-arcs」と「-ftest-coverage」を指定してGCCで問題のプログラムを
コンパイルしてください。リンク時に、「-lgcov」または「-coverage」が指定されていることを
確認してください。
以下を実行してください(コンパイルディレクトリは"appdir"と仮定):
a) カウンターをリセット
lcov --directory appdir --zerocounters
b) ファイルに現在のカバレッジの状態をキャプチャする
(アプリケーションが少なくとも一度は起動時および停止された後にのみ動作します)
lcov --directory appdir --capture --output-file app.info
c) HTML出力の取得
genhtml app.info
結果のindex.htmlファイルを指定したウェブブラウザで開く。
実行ディレクトリからまたはアプリケーションがインストールされた場所は別として注意してください。
--directoryステートメントはアプリケーションがコンパイルされた場所を指す必要があります。
gccのプロファイリングメカニズムの詳細については、gcovのmanページを参照もしてください。
=== 5.質問とコメント === #5.QuestionsAndComments
LCOVツールの使用方法の詳細については、付属のmanページを参照してください。
ltp-coverage@lists.sourceforge.netにおけるLTPメーリングリストへ、
このツールに関する電子メール、さらにご質問やコメントを受け付けております。
このドキュメントは[http://ltp.sourceforge.net/coverage/lcov/readme.php lcov(英)]のサイトを元に作成しました
[[PageNavi(NavigationList)]]