【发布时间】:2018-03-13 17:59:39
【问题描述】:
我正在尝试获取每个测试用例的覆盖率信息(以及总覆盖率)。但是由于.gcda文件会在程序每次运行时被合并,除非文件被删除/移动是不可能的。
为每个新的测试用例执行删除.gcda文件的问题是我必须再次重复整个过程才能获得所有测试用例的覆盖率信息。如果我有 2000 个测试用例,我必须运行我的程序 4000 次。
至于移动.gcda 文件,我必须合并所有.gcda 文件。是否可以将多个 gcda 文件与 Gcov(或 Gcovr,因为我将其用于 XML 输出)合并?
显然 lcov has a merging feature 但 AFAIK 它不支持 xml 输出。
【问题讨论】:
-
我认为
gcov-tool merge可以合并来自两个目录的分析数据,但我对它还不够熟悉,无法编写答案。请注意,gcov-tool 似乎比您链接的问题更年轻。 -
@amon 它有效!我很惊讶我的任何搜索结果都没有得到
gcov-tool。它使用起来非常简单,但有几件事对我来说不是很清楚,比如“权重因子”或“在线/离线生成”。介意你把它作为你的答案以便我接受吗? -
您可以根据自己的经历自行回答,或为您链接的问题写下答案。然后可以将此问题作为重复项关闭。