如何为pytest执行的SWIG编译的C代码生成代码覆盖率报告

时间:2019-03-21 09:15:55

标签: python c python-2.7 swig

使用SWIG 2.0从python测试框架(在我的情况下为pytest)执行C代码。

是否可以将SWIG配置为生成已执行的C代码的代码覆盖率报告?是否与bullseyegcov或其他类似工具集成?

试图在网上和SWIG文档中查看。找不到任何有用的资源。如果有的话,请指点我。

1 个答案:

答案 0 :(得分:1)

最终使用gcov工具编译代码,并使用gcovr生成覆盖率报告。一切正常。

要执行此操作,请使用以下标志编译代码(启用gcov工具)

CFLAGS_VAL += -O0 --coverage

然后,执行测试,应生成.gcno.gcda文件。

要创建报告,请运行

gcovr -r . --filter="<src path>" --html --html-details -o coverage/coverage.html

GCOV文档,here

同一人可以使用lcov创建,请按照此wiki页中的示例