我在一个月前开始使用lcov
。覆盖范围似乎不一致。第一轮报告的线路覆盖率约为75%,而第二轮报告的线路覆盖率仅为19%。使用的测试套件对于两次运行都是一些。我在lcov --remove
期间看到以下警告。有什么建议吗?
lcov:警告:在tracefile all.info
中找到负数
这有什么值得担心的吗?
答案 0 :(得分:1)
在GitHub上报道了相同的issue。
将输出中所有
-1
的计数替换为0
(例如,替换为sed -i -e 's/,-1$/,0/g' <outputfile>
)会使警告在输出期间从lcov
和genhtml
中消失仍会生成正确的覆盖率报告。更重要的是(至少对我而言),提交计数设置为
0
而不是-1
到codecov.io
的文件会导致正确解析结果,并且覆盖率信息正在可通过codecov.io
获得。
Codecov也处理这种值错误:
# Fix negative counts
$count = $2 < 0 ? 0 : $2;
if ($2 < 0)
{
$negative = 1;
}
进行其他一些修复:
答案 1 :(得分:0)
查看此错误报告:https://github.com/psycofdj/coverxygen/issues/6
将输出中的所有-1计数替换为0(例如,使用sed -i -e's /,-1 $ /,0 / g')会使警告从lcov和genhtml输出中消失,同时仍会生成正确的覆盖率报告。
更重要的是(至少对我来说),将计数设置为0而不是-1的文件提交给codecov.io会导致结果正确解析,并且覆盖范围信息可通过codecov.io获得。