如何合并覆盖率报告?

时间:2018-10-11 07:43:19

标签: gcc gcov lcov gcovr

我有一个C程序,使用-fprofile-arcs -ftest-coverage标志进行编译。然后我在5个不同的输入上运行该程序,这将覆盖.gcda文件并提供组合报告。但是我想有单个测试的覆盖率报告并将其存储在一个文件夹中,当我在此文件夹上运行任何覆盖率工具时,我会获得每个测试的报告以及合并的报告。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

从4.1版开始的Gcovr不具有合并多次运行(issue #10)的coverage数据的功能。您可以在每次测试运行后运行gcovr以获得单独的报告,但是无法生成合并的报告。同样,gcov没有此类功能。

请考虑使用lcov工具及其--add-tracefile选项是否有效:您可以在每次测试后运行lcov以生成lcov跟踪文件(您可以使用genhtml将其转换为HTML报告)。之后,您可以将跟踪文件合并到合并的报告中。不能在gcovr中使用lcov的跟踪文件。