Недавно я перешел с Bazel 5 на Bazel 6. Следующие команды в прошлом генерировали для меня рабочий отчет о покрытии кода:
git clone https://github.com/Vertexwahn/FlatlandRT.git
cd FlatlandRT/devertexwahn
bazel coverage --config=gcc11 --instrumentation_filter = "[:]" --instrument_test_targets=true --combined_report=lcov -- //...
output_path=$(bazel info output_path)
genhtml "$output_path"/_coverage/_coverage_report.dat -o coverage_report
В Bazel 6 сообщается о следующей ошибке:
genhtml: ERROR: cannot read /home/vertexwahn/dev/FlatlandRT/devertexwahn/external/Imath/src/Imath/ImathMatrixAlgo.h
Любые идеи/подсказки о том, как получить правильный отчет о покрытии кода с помощью Bazel 6?
Вы можете попробовать это
@SG_Bazel Unrecognized option: --experimental_java_coverage
и я думаю, что это связано только с Java - хочу узнать покрытие кода проекта C++. Также coverage_report_generator=@bazel_tools//tools/test/LcovMerger/java/com/google/devtools/lcovmerger:Main
не работает в Базеле 6.0
Когда я удаляю --instrumentation_filter = "[:]"
, все работает с Bazel 6.0. С Bazel 5.4.0 мне не нужно снимать этот флаг.
Это не отвечает на ваш вопрос. Но это больше удобный совет. Отчет о покрытии также должен быть доступен по символической ссылке
bazel-out/_coverage/_coverage_report.dat