python - 如何为 pytest 执行的 SWIG 编译的 C 代码生成代码覆盖率报告
问题描述
使用 SWIG 2.0 从 python 测试框架执行 C 代码,在我的例子中是 pytest。
有没有办法配置 SWIG 以生成已执行 C 代码的代码覆盖率报告?与靶心、gcov或其他类似工具的一些集成?
试图在网上和 SWIG 文档中查看。没有找到任何有用的资源。有的话请指点我。
解决方案
gcov
最终用仪器编译代码并用于gcovr
生成覆盖率报告。一切正常。
为了使这项工作,使用以下标志编译代码(启用 gcov 检测)
CFLAGS_VAL += -O0 --coverage
然后,执行测试,.gcno
应该.gcda
会生成文件。
要创建报告,请运行
gcovr -r . --filter="<src path>" --html --html-details -o coverage/coverage.html
GCOV 文档,在这里
同样可以使用 lcov 创建,在此wiki页面中遵循示例
推荐阅读
- visual-studio-code - 如何更改远程 - SSH 放置文件的位置
- assembly - 如何解释片上系统 CPU 供应商字符串?
- ios - throw 如何在 Swift 中通过'startAccessingSecurityScopedResource()' 声明?
- c# - 使用多个命名空间反序列化肥皂响应
- google-cloud-platform - 是否可以使用 Google Cloud Run 运行 Postgres(或任何数据库)?
- row - 排名/行号/排序问题
- rpa - 如何修复 G1ANT Studio 中的“输入字符串格式不正确”错误?
- javascript - 按钮返回正确的值,但一旦我按下它就不会显示在屏幕上
- django - 如何使用第三方 CAS(中央身份验证服务)为 Django-React 应用程序实现 SSO(单点登录)?
- loopback4 - loopback 4中如何实现搜索和过滤操作?