Исключить каталоги тестов и соответствующие подкаталоги из HTML представления комбинированного отчета о покрытии - PullRequest
0 голосов
/ 26 мая 2020

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

bazel coverage ... --compilation_mode=dbg --subcommands --announce_rc --verbose_failures --jobs=auto  --sandbox_debug --build_runfile_links --combined_report=lcov --coverage_report_generator=@bazel_tools//tools/test/CoverageOutputGenerator/java/com/google/devtools/coverageoutputgenerator:Main

Затем я генерирую HTML отчет о покрытии, используя следующую команду

genhtml -o <output-directory-name> bazel-out/_coverage/_coverage_report.dat

Теперь этот отчет также содержит тестовые каталоги (и их подкаталоги) в комбинированном отчете о покрытии, например, путь */src/test/*, как показано на изображении ниже. enter image description here Я хочу исключить эти тестовые каталоги и соответствующие подкаталоги из окончательного HTML представления комбинированного отчета о покрытии. Подкаталоги также могут указываться относительно пути */src/test/*. например, если путь равен */src/test/temp/hello/*, тогда в отчете также отображаются относительные подкаталоги /temp/hello/* и /temp/*, чего я не хочу в сгенерированном комбинированном отчете о покрытии. Как я могу это сделать?

Я пробовал использовать команду --remove, как указано в следующих ссылках:

Исключить покрытие заголовочных файлов при выполнении объединений для. cpp файлы с использованием lcov https://qiaomuf.wordpress.com/2011/05/26/use-gcov-and-lcov-to-know-your-test-coverage/

, поэтому я использовал следующую команду для удаления каталогов */src/test/* из сгенерированного комбинированного отчета о покрытии.

lcov --remove _coverage_report.dat '*/src/test/*' -o filtered_coverage.data

, но когда я запускаю команду выше, она говорит Deleted 0 files, как показано ниже,

Reading tracefile _coverage_report.dat
Deleted 0 files
Writing data to filtered_coverage.data
Summary coverage rate:
  lines......: 20.9% (10050 of 48173 lines)
  functions..: 30.5% (2324 of 7621 functions)
  branches...: no data found

lcov -r команда также дает тот же результат, что и выше. следующая команда:

lcov -r _coverage_report.dat '*/src/test/*' -o filtered_coverage.data

Итак, наконец, когда я снова запускаю команду genhtml для filtered_coverage.dat файла, как показано ниже,

genhtml -o <output-directory-name> bazel-out/_coverage/filtered_coverage.dat

, затем он снова дает те же результаты, что и выполнение команды genhtml для файла _coverage_report.dat. Таким образом, никакие тестовые каталоги / подкаталоги не удаляются / исключаются при окончательном просмотре HTML. Как я могу решить эту проблему?

...