gcovr不会为Jenkins

时间:2017-10-29 12:08:53

标签: gcov gcovr

我们发现,对于一些自动拉入Jenkins的Github分支,gcovr不会生成任何覆盖信息。它声称没有找到任何文件,并返回0%的代码覆盖率。

其他分支机构工作正常。一旦我们将代码拉入master,gcovr就可以为相同的代码生成代码覆盖文件。

1 个答案:

答案 0 :(得分:3)

这是因为gcov创建了保存整个路径的文件,例如#usr#include#boost#numeric#conversion#detail#converter.hpp.gcov。如果分支名称是Jenkins工作空间路径的一部分,则长分支名称可能会使文件系统的最大文件名长度中的一些生成文件名。

要解决此问题,请将gcov设置为散列文件名并在两次传递中运行gcovr:

gcovr -r `pwd` --gcov-executable="gcov -s `pwd` -x" -k
gcovr -r `pwd` --gcov-executable="gcov -s `pwd` -x" -g --html --html-details -o coverage/index.html