gpt4 book ai didi

c++ - 使用 lcov 对 .cpp 文件进行 union 测试时排除头文件覆盖

转载 作者:搜寻专家 更新时间:2023-10-31 02:07:59 26 4
gpt4 key购买 nike

我已经为 unittest 生成了 html 代码覆盖率。问题是它为包含预处理器中定义的所有内容生成代码覆盖率。

单元测试的代码覆盖率位于代码覆盖率报告的 unitTest 链接内。我只需要 unitTest

在生成代码覆盖率之前,我还删除了所有其他内容并保留了测试文件的 gcda 和 gcno 文件,但它仍然无济于事。执行此操作的代码是:

find obj/ ! -name '*_unittests*' -type f -delete

代码覆盖率报告如下所示: Coverage Report

我尝试在包含预处理器的开头和结尾添加 LCOV_EXCL_START 和 LCOV_EXCL_STOP,如下所示,但它仍然无济于事。

LCOV_EXCL_START
#include <inttypes.h>
#include "../src/generators/buffersss.h"
#include "gtest/gtest.h"
#include <getopt.h>
LCOV_EXCL_STOP
Test code goes here.....

我做错了什么?

最佳答案

下面的代码解决了这个问题

lcov --remove coverage.info '/usr/include/*' 'src/*' -o filtered_coverage.info

关于c++ - 使用 lcov 对 .cpp 文件进行 union 测试时排除头文件覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48040580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com