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–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/variable/CTEST_COVERAGE_COMMAND.html