GCOV/LCOVカバレッジ結果から特定の機能を除外します
質問
GCOVカバレッジ分析から特定の関数またはコード行を除外することは可能ですか?私のコードには、デバッグに使用される特定の機能が含まれており、テストスイートの一部として行使されません。このような関数は、GCOVによって報告されたカバレッジの割合を減らします。結果からこれらの機能を除外したいと思います。 GCOVを介してそれが不可能な場合、おそらくLCOVを介して可能ですが、私はそれを理解することができませんでした。あなたの助けを感謝します。
解決
LCOVの出力を実行することにより、特定のソースファイルをフィルタリングします。 LCOVの出力 - Captureには非常にシンプルな形式があり、以下のawkスクリプトには、file_patternに一致するソースファイルをフィルタリングします。スクリプトを適応させて、ファイル名の代わりに関数をフィルタリングすることができると思います。
BEGIN {
record=""
}
/^SF/ {
if ( match ($0, "file_pattern" ) ) {
doprint = 0
} else {
doprint = 1
}
}
/^end_of_record$/ {
if ( doprint ) {
print record $0
}
record = ""
next
}
{
record=record $0 "\n"
}
所属していません StackOverflow