Skip to content

Консольное приложение для конвертации результатов покрытия

License

Notifications You must be signed in to change notification settings

yukon39/coverage-cli

Folders and files

NameName
Last commit message
Last commit date
May 11, 2020
Oct 27, 2022
May 13, 2020
Jun 25, 2021
Jun 26, 2021
Oct 27, 2022
Oct 27, 2022
Jun 26, 2021
Aug 29, 2021
Apr 19, 2020
Apr 26, 2020
May 11, 2020
Apr 29, 2020
Jun 26, 2021

Repository files navigation

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 формат. При этом:

  1. Сопоставляются внутренние идентификаторы программных модулей и файлы с исходными кодами проекта
  2. Устраняется дублирование номеров строк в замерах.
  3. Убираются замеры программных модулей для которых не найдены соответсвующие файлы с исходными кодами.

При указании опции --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