gcovr不从远程位置生成覆盖文件

时间:2013-04-11 18:17:04

标签: jenkins xcode4.5 code-coverage jenkins-plugins gcov

当我从包含.gcno&的文件夹中执行gcovr文件时.gcda文件,正在生成coverage.xml文件。

文件夹位置 - / Users // ... .. / x86_64 /

Gcovr位置 - / Users // ... .. / x86_64 / gcovr

当前位置 - / Users // ... .. / x86_64 /

命令 - python gcovr -x> coverage.xml

coverage文件包含代码覆盖率报告。

但是,如果我从远程位置调用相同的可执行文件 实施例

当前位置 - / Users /

Gcovr位置 - / Users // ... .. / x86_64 / gcovr

命令 - python / Users // ... .. / x86_64 / gcovr -r / Users // ... .. / x86_64 / -x> coverage.xml

此外,当我在远程位置使用gcovr并将其调用为我的coverage文件的根文件夹时也是如此。

当前位置 - / Users /

Gcovr位置 - /用户// gcovr

命令 - python / Users // gcovr -r / Users // ... ../ x86_64 / -x> coverage.xml

coverage文件不包含coverage报告。看起来像这样

<?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="1365619556" version="gcovr 2.5-      prerelease (r2823)">
    <sources>
        <source>
            /Users/<username>/….. /x86_64/<Code Coverage Files>
        </source>
    </sources>
    <packages/>
</coverage>

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

查看我在主服务器和从服务器上工作的gcovr行,我总是从构建目录执行并指向命令行中的coverage / object目录。这似乎是找到源线所必需的。

答案 1 :(得分:0)

您是否使用以下选项进行编译? :-ftest-coverage -fprofile-arcs

您是否与以下选项相关联? :-fprofile-arcs

这是我排除多余文件的方法:

gcovr --xml -e ".*unit-test.*\.cpp" -e ".*unit-test.*\.h" -e ".*usr/include/.*" -e ".*jenkins.*" -o coverage.xml

总是发现远程文件正确,但我无法从Jenkins打开它们。

答案 2 :(得分:-1)

这个问题可能会帮助您解决问题。

GCOVR giving empty results zero percent in MAC