我一直在尝试获取我一直在使用 lcov 运行的一些测试用例的代码覆盖率。
但是,当我跑步时
lcov --directory $PWD --capture --output-file lcov.output
我收到警告
geninfo:警告:在 .bb 文件中找不到 test.c.gcov 的条目,正在跳过文件!
如果我直接在 test.c 上运行 gcov,我可以生成一个成功显示利用率的 gcov 输出。
我是代码覆盖的新手。我们将不胜感激任何解决此问题的帮助。
我一直在尝试获取我一直在使用 lcov 运行的一些测试用例的代码覆盖率。
但是,当我跑步时
lcov --directory $PWD --capture --output-file lcov.output
我收到警告
geninfo:警告:在 .bb 文件中找不到 test.c.gcov 的条目,正在跳过文件!
如果我直接在 test.c 上运行 gcov,我可以生成一个成功显示利用率的 gcov 输出。
我是代码覆盖的新手。我们将不胜感激任何解决此问题的帮助。
在某些时候,gcov 格式发生了变化。基本上这个问题是因为当前版本的 gcov 产生了一个带有源文件名等的头文件。Lcov 期望这个头文件并试图提取这个失败,它显示了错误。
作为一种解决方法,我修改了 LCOV 代码,如果返回的标头为空,则直接从 gcov 文件名假定源文件名。此解决方案可能不是最优雅的,因为如果创建 gcov 文件的名称与源文件名不同,它可能会导致不兼容
更新:这个特殊问题是由于 lcov-1.8 中的一个错误造成的。lcov-1.10 的版本应该对此进行修复。( http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?r1=1.106&r2=1.107 )