首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCovr不生成有效的报告。

GCovr不生成有效的报告。
EN

Stack Overflow用户
提问于 2013-03-26 18:54:27
回答 3查看 6.4K关注 0票数 5

我想设置我的詹金斯与Cobertura跟踪代码覆盖范围。不幸的是,我无法生成有效的xml。

我在用:

  • gcovr 2.5-预释放(r2774)
  • Xcode 4.6.1构建版本4H512

我的项目正在正确地生成代码覆盖文件,但是用gcovr创建的报告并不有用。

我用来生成报告的命令是:

代码语言:javascript
复制
gcovr -r /Users/Shared/Jenkins/Home/jobs/CodeCoverage/workspace 
--object-directory /Users/Shared/Jenkins/Home/Library/Developer/Xcode/DerivedData/myProject-aooceqwwovrizceerghqvhflcfty//Build/Intermediates/myProject.build/Development/myProject.build/Objects-normal/x86_64 
--exclude '.*Developer.*' 
--exclude '.*Tests.*' 
--xml

这将为我创建这个输出:

代码语言:javascript
复制
<?xml version="1.0" ?>
<!DOCTYPE coverage SYSTEM 'http://cobertura.sourceforge.net/xml/coverage-03.dtd'>
<coverage branch-rate="0.0" line-rate="0.0" timestamp="1364322914" version="gcovr 2.5-prerelease (r2774)">
<sources>
    <source>
        /Users/Shared/Jenkins/Home/jobs/CodeCoverage/workspace/Project/myProject/
    </source>
</sources>
<packages/>
</coverage>

附加信息:

如果删除-对象目录和-r,然后从派生数据目录执行命令,就会生成有效的报告。本报告可以从cobertura读取,但不能显示任何有关源文件的详细信息。

EN

回答 3

Stack Overflow用户

发布于 2013-03-26 22:03:05

在使用XCode时,我发现使用$WORKSPACE/build作为构建目录有助于解决这个问题。这使派生的数据目录远离它,并且整洁地将我的对象文件保存在build目录中。它还防止了两个构建之间的相互干扰。

如果使用Xcode构建工具,则在工具的构建配置中将SYMROOT设置为$WORKSPACE/build。如果您是从命令行构建的,请在命令行或环境中手动设置。

然后是gcovr脚本,如:

代码语言:javascript
复制
/your/path/to/gcovr -r . --object-directory build/YourApp.build/Coverage-iphonesimulator/YourApp.build/Objects-normal/i386 --xml > build/coverage.xml

(根据您所称的构建风格等,您的路径可能略有不同。)

最后,在Cobertura中,指向build/coverage.xml,当您在Jenkins中使用该工具时,您应该得到带注释的源代码。

应该能起作用。我真的很高兴在我们的小农场麦克米尼斯的配置。

票数 3
EN

Stack Overflow用户

发布于 2016-08-12 12:48:15

应该在存在.gcda和.gcno文件的文件夹中执行gcovr。根路径是源文件(.c或.cpp)存在的文件夹。

这样,命令看起来就像下面所示的一样。

rr-mac:gcdaFolder$ gcovr -r /path_to_C_sourceFiles/ .

对于输出html文件,下面的命令工作。

rr-mac:gcdaFolder$ gcovr --html -o Filename_rp.html -r /path_to_C_sourceFiles/ .

注:圆点(.)最后是强制性的

票数 2
EN

Stack Overflow用户

发布于 2014-08-14 15:46:39

gcovr python脚本似乎不支持脱离源树构建。

我在这里提出了一个错误报告,https://github.com/gcovr/gcovr/issues/61

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15645160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档