gcov / lcov - Как исключить все, кроме одного каталога из данных покрытия - PullRequest
0 голосов
/ 21 февраля 2019

Я создаю отчеты о покрытии кода для своих проектов C ++ с использованием gcov / lcov и пытаюсь удалить из отчета о покрытии все файлы, кроме файлов в определенном каталоге (т. Е. Я не хочу, чтобы отображались разные зависимости в разных папках)в отчете).

Однако я хочу сделать это автоматически, а не вручную.Я попробовал следующее:

lcov -r coverage.total '!(<path>)' -o coverage.info

Но затем lcov возвращается с Deleted 0 files.Я также пробовал !(<path>), '[^path]*' и их небольшие вариации, но, похоже, ничего не работает.Я могу вручную удалить ненужные папки, например, работает следующее:
lcov -r coverage.total '/usr/libs/*' '/usr/mylibs/*' -o coverage.info

Поэтому мой вопрос: как я могу lcov исключить все, кроме определенного каталога?

PS

  • Я открыт для обходных путей (например, если это можно сделать с помощью скрипта bash)
  • Я использую bash + CMake + gcov +lcov

PS

Это не дубликат этого вопроса .Я спрашиваю об автоматизированном способе включения файлов в определенный каталог в отчет.(например, текущий каталог) Мне известен аргумент --remove, но это не автоматическое решение.

Ваша помощь с благодарностью!

...