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