Как получить покрытие кода для Python с помощью Bazel - PullRequest
0 голосов
/ 25 июня 2019

Я хотел бы создать отчет о покрытии кода для всех моих тестов на Python с использованием Bazel.В настоящее время я использую Bazel версии 0.19.1, но вскоре обновлюсь до 0.22.0.Я обнаружил эту открытую ошибку 2017 года, над которой работали некоторое время, но связь на этой странице внезапно прекратилась (https://github.com/bazelbuild/rules_python/issues/43). Кто-нибудь знает, где bazel coverage поддерживает покрытие кода для py_tests и py_binaries?

В настоящее время, когда я запускаю команду bazel coverage //path/to/python/tests/...

(verb_py3) joshsullivan@VERB790-Linux:~/verb/test_folder1$ bazel coverage test_sub1/...
INFO: Using default value for --instrumentation_filter: "//test_folder1/test_sub1[/:]".
INFO: Override the above default with --instrumentation_filter
INFO: Build options have changed, discarding analysis cache.
INFO: Analysed 8 targets (2 packages loaded, 7612 targets configured).
INFO: Found 8 test targets...
FAIL: //test_folder1/test_sub1:tests_marked_test (see /home/joshsullivan/.cache/bazel/_bazel_joshsullivan/05ff476f42160380dc4701b6f3f01f26/execroot/verb/bazel-out/k8-fastbuild/testlogs/test_folder1/test_sub1/tests_marked_test/test.log)
ERROR: /home/joshsullivan/verb/test_folder1/test_sub1/BUILD:21:1: output 'test_folder1/test_sub1/tests_marked_test/coverage.dat' was not created
ERROR: /home/joshsullivan/verb/test_folder1/test_sub1/BUILD:21:1: not all outputs were created or valid
INFO: Elapsed time: 0.933s, Critical Path: 0.25s, Remote (0.00% of the time): [queue: 0.00%, setup: 0.00%, process: 0.00%]
INFO: 3 processes: 3 linux-sandbox.
FAILED: Build did NOT complete successfully
//test_folder1/test_sub1:buildifier_test__BUILD                       NO STATUS
//test_folder1/test_sub1:clang_format_test                            NO STATUS
//test_folder1/test_sub1:cpplint_test                                 NO STATUS
//test_folder1/test_sub1/tests:buildifier_test__BUILD                 NO STATUS
//test_folder1/test_sub1/tests:clang_format_test                      NO STATUS
//test_folder1/test_sub1/tests:cpplint_test                           NO STATUS
//test_folder1/test_sub1/tests:tests_marked_test                      NO STATUS
//test_folder1/test_sub1:tests_marked_test                               FAILED in 0.2s
  /home/joshsullivan/.cache/bazel/_bazel_joshsullivan/05ff476f42160380dc4701b6f3f01f26/execroot/verb/bazel-out/k8-fastbuild/testlogs/test_folder1/test_sub1/tests_marked_test/test.log

FAILED: Build did NOT complete successfully

Это дает мне пустые файлы cover.dat

Я ищу способ использования bazel coverage, чтобымои тесты пройдут, и будет создан общий файл cover.dat с комбинированными результатами покрытия всех тестов, которые были проведены. Таким образом, я могу взять файл cover.dat и использовать его для создания отчета в формате html. Любая помощь очень ценится!!

...