我们有大量的C / C ++代码,这些代码是针对嵌入式Linux目标进行交叉编译的。我们最近开始实现在我们的开发服务器(也是Linux)上运行的单元测试(使用gmock / gtest)。当检测到签到时,我们会自动执行单元测试(我们正在使用Bamboo)。
我们正在使用gcov和lcov来分析&在单元测试期间报告代码覆盖率,这已经相当不错。但是,鉴于我们没有开始单元测试,我们的代码库的很大一部分不在单元测试中。除了“单元测试的那些文件的单元测试覆盖率是多少”之外,一个有趣的指标是“单元测试覆盖了我们整个代码库的多少”,其中包括那些当前未进行单元测试的文件。使用gcov,你需要实际编译&链接给定的源文件,然后执行生成的程序以获取该文件的可能覆盖数据。
为了开发这个“代码库”覆盖率指标,我编写了一些Python脚本来利用MSquared的RSM(我们已经在我们的开发服务器上使用它)来评估代码,然后将该数据与返回的覆盖数据配对。 gcov的。它运行得相当不错,但是在比较RSM和gcov评估的文件的语句和分支之类的标签时,存在足够大的差异,我觉得这不是最终的解决方案。
以下是我的问题:
谢谢。