coverage-cli
coverage-cli copied to clipboard
Консольное приложение для конвертации результатов покрытия
coverage-cli
Консольное приложение для конвертации результатов покрытия
Для получения замеров покрытия используется библиотека https://github.com/proDOOMman/Coverage41C
Использование
Для тех кому не терпится начать уже готов пайплайн Jenkins /examples/coverage.jenkinsfile.
Надо просто указать свои значения в первой секции environment
Для тех у кого нет Jenkins-а или кому тесны рамки консольного приложения все возможности пакета доступны через API. Смотри /examples/coverage.os. Все тоже самое, что в Jenkins, но через API.
1 Запуск процедуры замера
coverage-cli start --infobase test_database --output coverage.csv
2 Остановка процедуры замера
coverage-cli stop
3 Конвертация замеров для отправки на сервер SonarQube
Конвертирует результаты покрытия из CSV формата во genericCoverage XML формат. При этом:
- Сопоставляются внутренние идентификаторы программных модулей и файлы с исходными кодами проекта
- Устраняется дублирование номеров строк в замерах.
- Убираются замеры программных модулей для которых не найдены соответсвующие файлы с исходными кодами.
При указании опции --json отчет сохраняется во внутреннем JSON-формате, содержащем более подробную информацию о модулях.
Примеры:
- Конвертация замеров для модулей конфигурации в формате выгрузки конфигуратора:
coverage-cli convert --input coverage.csv --output coveredLines.xml --sources src/cf --format XML
- Конвертация замеров для модулей конфигурации в формате выгрузки EDT:
coverage-cli convert --input coverage.csv --output coveredLines.xml --sources ProjectName/src --format EDT
- Конвертация замеров для модулей конфигурации и модулей расширения поддерживается через конфигурационный файл (пример файла можно посмотреть в
/examples:
coverage-cli convert --input coverage.csv --input coveredLines.xml --config coverage-conf.json
4 Формирование списка строк, требующих покрытия
Формирует список строк требующих покрытия. Пример:
coverage-cli lines --sources src/cf --output linesToCover.xml
5 Объединение нескольких отчетов покрытия в один (дополнительно)
Объединяет несколько отчетов покрытия в каталоге (например сформированных командами convert и lines) в один.
coverage-cli report --input coverageReports --output genericCoverage.xml