問題タブ [gcovr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - gcovr フォルダー レベルの概要
次のような構造のプロジェクトがあります。
最高レベルのカバレッジ レポートには、コードを直接含む各フォルダーの概要が表示されます。
コードを直接含まないレベルでもレポートを取得する方法はありますか? つまり、次の場合のみです。
gcc - Gcovr 0 ファイルのカバレッジ データを収集しました
gcovr を使用して gcno/gcda から xml を生成し、Jenkins の cobertura プラグインにフィードしようとしています。アプリケーションはビルド マシンでビルドされ、単体テスト スレーブで実行されているダウンストリーム ジョブに渡されます。ソース ファイルと生成された gcno ファイルは、元のフォルダー構造で単体テスト コンピューターにもコピーされます。アプリケーションのビルド パスとインストール パスが異なるため、GCOV_PREFIX_STRIP と GCOV_PREFIX を使用して、生成された gcda ファイルが対応する gcno ファイルと同じ場所に配置されるようにしています。gcda ファイルが正しい場所に生成されていることを確認できます。
Jenkins ビルド マスター ワークスペースは次の場所にあります。
アプリケーションは次のように組み込まれています。
Jenkins 単体テスト スレーブ ワークスペースは次の場所にあります。
ソース コード、gcno および gcda ファイルは次の場所にあります (gcno/gcda は、対応する cpp に関連する 'o' というサブディレクトリにあります)。
これは次のように設定することで達成されました:
Jenkins ユニット テスト スレーブから実行シェル (現在のディレクトリはワークスペース) を実行します。
ただし、結果は次のとおりです。
gcda ファイルが見つかったように見えるため、これは奇妙です。詳細な出力の一部:
同じ gcda ファイルが何度もリストされていることに注意してください。これはすべての gcda ファイルに当てはまります。ディレクトリ /var/lib/jenkins/workspace/Coverage-Unittest/BUILD/app/packages/appw/lib/model/o/ には、MyClass.gcda と MyClass.gcno およびディレクトリ /var/lib/jenkins/workspace/Coverage が含まれています。 -Unittest/BUILD/app/packages/appw/lib/model/ には MyClass.cpp が含まれています。
アプリケーションは、-coverage フラグを指定して gcc 5.3.0 を使用してコンパイルされました。
出力 xml にカバレッジ情報を含めたいのですが、どうすれば修正できますか?