我有一个 SonarQube 5.6 安装,使用 C/C++ 插件 3.12 来分析我们的项目。我已经生成了覆盖结果 (gcov),但到目前为止仅针对其中一个应用程序 C 文件。覆盖率为 98.3%。在分析应用程序覆盖结果被“导入”的整个项目时,我可以在 Web 界面上跟踪它们。
在顶级代码页面上,包含该文件的文件夹显示为 98.3%,在我看来这是不正确的,因为对于所有其他 C 文件还没有覆盖范围。我试图在以下一系列快照中展示这一点:
(3) 沿着 'Implementation/ComponentTemplate' 树向下:
EXMPL.c 只有 (4):113 行代码。与“实施”(4):61k 的总代码行数相比,这仅约为 0.2%。(1) 中 EXMPL.c 的 98.3% 的覆盖率是错误的!
我的项目由几个应用程序组成,EXMPL 是我项目中所有应用程序中最小的一个。所以我必须为每个应用程序生成单独的覆盖结果,并将它们分别“导入”到声纳中。因此,覆盖结果文件位于不同的文件夹中。
也许该项目结构或覆盖结果的“不完整导入”是导致“错误”覆盖措施的原因,但到目前为止,我还没有找到任何关于声纳如何处理提供的 gcov 覆盖措施的有用信息。
任何帮助或信息都将得到应用。谢谢