Я создал 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/*
, как показано на изображении ниже. Я хочу исключить эти тестовые каталоги и соответствующие подкаталоги из окончательного 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. Как я могу решить эту проблему?