プロジェクトを分析するために C/C++ プラグイン 3.12 を使用して、SonarQube 5.6 をインストールしています。カバレッジ結果 (gcov) を生成しましたが、これまでのところアプリケーション C ファイルの 1 つだけです。カバレッジは 98.3% です。プロジェクト全体を分析すると、アプリケーション カバレッジの結果が「インポート」され、Web インターフェイスで追跡できます。
最上位のコード ページでは、そのファイルを含むフォルダーは 98.3% と表示されますが、これは正しくありません。他のすべての C ファイルについてはまだカバーされていないためです。次の一連のスナップショットでそれを示そうとしました。
(3) 'Implementation/ComponentTemplate' ツリーをたどる:
(4) 「Implementation/ComponentTemplate/code」ツリーをたどる:
EXMPL.c には (4):113 行のコードしかありません。「実装」の総コード行数 (4):61k と比較すると、これは約 0.2% にすぎません。(1) の 98.3% の EXMPL.c のカバレッジは間違っています。
私のプロジェクトはいくつかのアプリケーションで構成されています。EXMPL は、プロジェクト内のすべてのアプリケーションの 1 つ (最小のもの) です。そのため、アプリケーションごとに個別のカバレッジ結果を生成し、それらを個別にソナーに「インポート」する必要があります。したがって、カバレッジ結果ファイルは別のフォルダーに配置されます。
そのプロジェクト構造またはカバレッジ結果の「不完全なインポート」が「間違った」カバレッジ測定の原因である可能性がありますが、これまでのところ、提供された gcov カバレッジ測定をソナーがどのように処理しているかについての有用な情報は見つかりませんでした。
どんな助けや情報も感謝します。ありがとう