my-project
├── driver
│ ├── BUILD
│ ├── stm32f446re_gpio_driver.h
│ ├── stm32f446re_gpio_driver.cpp
├── unit_test
│ ├── BUILD
│ ├── ut_gpio.cpp
└── WORKSPACE
我有一个像上面这样的 bazel 构建结构,我正在尝试使用“bazel覆盖率”命令生成测试覆盖率。输出已通过,一切看起来都很好。但 _coverage_report.dat 为空,大小为 0。那么,我无法生成html文件。
bazel coverage //unit_test:ut_gpio --combined_report=lcov
我尝试将所有 srcs 文件和头文件放在同一个文件夹中,效果很好。但是当我分离到 /driver 文件夹和 /uni_test 文件夹时。它无法生成有效的coverage_report.dat。我错过了什么吗?为什么会出现这种情况?
环境:Ubuntu 18.04、Bazel 3.5.0、gcc 7.5.0
构建(单元测试):
构建(驱动程序):
您可以在cmd中设置
--instrumentation_filter="//driver[/:]"
,例如:
bazel coverage --combined_report=lcov --instrumentation_filter="//driver[/:]" //unit_test:ut_gpio