当我从包含.gcno和.gcda文件的文件夹中执行gcovr文件时,将生成coverage.xml文件。
文件夹位置- /Users//…。。/x86_64/
Gcovr位置- /Users//…。。/x86_64/gcovr
当前位置- /Users//…。。/x86_64/
命令- python gcovr -x> coverage.xml
覆盖率文件包含代码覆盖率报告。
但是,如果我从远程位置调用相同的可执行文件。
当前位置-/用户/
Gcovr位置- /Users//…。。/x86_64/gcovr
命令- python /Users//…。。/x86_64/gcovr -r /Users//…。。/x86_64/ -x> coverage.xml
此外,当我在远程位置上有gcovr并为我的覆盖率文件的根文件夹调用它时,情况也是一样的。
当前位置-/用户/
Gcovr位置- /Users//gcovr
命令-…/Users//gcovr python /Users//python。。/x86_64/ -x> coverage.xml
覆盖率文件不包含覆盖率报告。它看起来像这样
<?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>任何帮助都是非常感谢的。
发布于 2013-07-19 18:27:04
查看我的gcovr行(在主服务器和从服务器上都有效),我总是从build目录执行,并在命令行中指向coverage/object目录。这似乎是找到源代码行所必需的。
发布于 2016-08-12 20:38:15
这个问题可能会帮助你解决这个问题。
发布于 2017-11-03 17:34:26
你是用以下选项编译的吗?:-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打开它们。
https://stackoverflow.com/questions/15955966
复制相似问题