【发布时间】:2017-01-24 08:01:16
【问题描述】:
我安装了 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 覆盖措施的有用信息。
任何帮助或信息都将得到应用。 谢谢
【问题讨论】:
标签: sonarqube code-coverage gcov sonarqube-scan measures