Spec-Zone.ru › CMake 3.19

CTEST_COVERAGE_COMMAND

Новое в версии 3.1.

Укажите настройку CTest CoverageCommand в скрипте клиента панели управления ctest(1).

Cobertura

Использование Cobertura для генерации покрытия в вашем многомодульном Java-проекте может сгенерировать ряд XML-файлов.

Парсер покрытия Cobertura ожидает чтения данных покрытия из одного XML-файла, содержащего данные покрытия всех модулей. Cobertura имеет программу, способную объединить заданные cobertura.ser файлы, а затем другую программу для генерации объединённого XML-файла из предыдущего объединённого файла. Для тестирования командной строки это можно сделать вручную перед тем, как CTest будет искать файлы покрытия. Для сборки скриптов установите переменную CTEST_COVERAGE_COMMAND для указания файла, который выполнит эти же действия, например, файл .sh или .bat.

set(CTEST_COVERAGE_COMMAND .../run-coverage-and-consolidate.sh)

где скрипт run-coverage-and-consolidate.sh возможно создан командой configure_file() и может содержать следующий код:

#!/usr/bin/env bash
CoberturaFiles="$(find "/path/to/source" -name "cobertura.ser")"
SourceDirs="$(find "/path/to/source" -name "java" -type d)"
cobertura-merge --datafile coberturamerge.ser $CoberturaFiles
cobertura-report --datafile coberturamerge.ser --destination . \
                 --format xml $SourceDirs

Скрипт использует find для захвата путей ко всем cobertura.ser файлам, найденным ниже каталога исходного кода проекта. Он сохраняет список файлов и предоставляет его в качестве аргумента программе cobertura-merge. Аргумент --datafile указывает место, где будет храниться результат объединения.

Затем объединённый coberturamerge.ser файл используется для генерации XML-отчёта с помощью программы cobertura-report. Вызов программы cobertura-report требует некоторых именованных аргументов.

--datafila

путь к объединённому .ser файлу

--destination

путь для размещения выходных файлов

--format

формат файла для записи вывода: xml или html

Остальные предоставленные аргументы состоят из полных путей к /src/main/java каталогам каждого модуля в дереве исходных кодов. Эти каталоги необходимы и не должны быть забыты.

© 2000–2020 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.19/variable/CTEST_COVERAGE_COMMAND.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API