以下のUPDATEを参照してください。
.gcda
これを行うための意図された方法は、ファイルを直接結合するのではなく、を使用して独立したカバレッジデータファイルを作成することだと思います
lcov -o unittests.coverage -c -d unittests
lcov -o integrationtests.coverage -c -d integrationtests
各カバレッジデータは、1つの「実行」を表します。もちろん、個別のグラフまたはhtmlビューを作成することもできます。ただし、略して--add-tracefile
、を使用してデータを結合することもできます。-a
lcov -o total.coverage -a unittests.coverage -a integrationtests.coverage
から、たとえばtotal.coverage
を使用して、合計レポートを生成できます。genhtml
更新:実際には、を.gcda
使用してファイルを直接マージすることが可能であることがわかりましたがgcov-tool
、残念ながらMacでは簡単に利用できないため、この更新では元の質問に答えることができません。
しかし、これを使用するとgcov-tool
、多くのセットを1つに段階的にマージすることもできます。
gcov-tool merge dir1 dir -o dir
gcov-tool merge dir2 dir -o dir
gcov-tool merge dir3 dir -o dir
それは文書化されておらず、信頼するのは危険かもしれませんが。
これは本当に高速で、多くのセットをマージするときにはるかに遅いlcovを迂回する方法を回避します。私のマシンでは、70ファイルの約80セットをマージするのに0.5秒もかかりません。また、必要に応じて、集約されたセットに対しても実行できますlcov
。これも非常に高速です。私はファイルを直接使用するEmacscov-mode
を使用しています。.gcov
詳細については、この回答を参照してください。