我可以积累gcov线数吗? (我没有LCOV)

时间:2016-08-18 16:45:50

标签: c++ gcov test-coverage

gcov数据文件(* .gcda)累积多个测试的计数。这是一件很棒的事情。问题是,我无法弄清楚如何以与.gcda文件相同的方式获取.gcov文件。

我有一个大项目(53个标题,54个cpp),并且在多个cpp文件中使用了一些标题。以下示例从根本上简化;如果需要,蛮力方法将需要数天的手动,繁琐的工作。

比如说我有xyz.hpp来定义xyz类。在第24行,它定义了构建xyz数据的build()方法,在第35行,它定义了返回对数据的引用的data()方法。

说我运行我的测试套件,然后在abc.cpp上执行gcov。对于第24行(构建),xyz.hpp.gcov报告的计数为5,对于第35行(数据),计数为零。现在我在def.cpp上运行gcov,xyz.hpp.gcov报告的第24行计数为零,第35行的计数为7.因此,不是累积报告信息而是计数为5对于第24行(构建)和第3行(第35行)(数据),每次替换 xyz.hpp.gcov,以便重置所有计数。我理解为什么这是默认行为,但我似乎无法覆盖它。如果我无法以编程方式累积.gcov报告,我将被迫手动比较,例如,十几个不同的xyz.hpp.gcov,以评估覆盖范围。

看起来LCOV能够做到这一点,但在我当前的工作文化中安装新软件需要

提前感谢您的帮助。

0 个答案:

没有答案