Spec-Zone.ru › CMake 3.10

ctest(1)

Синопсис

ctest [<options>]

Описание

Исполняемый файл “ctest” — это программа-драйвер тестов CMake. Деревья билдов, сгенерированные CMake для проектов, использующих команды ENABLE_TESTING и ADD_TEST, поддерживают тестирование. Эта программа выполнит тесты и сообщит результаты.

Опции

-C <cfg>, --build-config <cfg>

Выбор конфигурации для тестирования.

Некоторые сгенерированные CMake деревья билдов могут иметь несколько конфигураций билда в одном дереве. Эта опция позволяет указать, какую из них нужно протестировать. Примерами конфигураций являются “Debug” и “Release”.

-V,--verbose

Включение подробного вывода тестов.

Вывод тестов обычно подавляется, и отображается только сводная информация. Эта опция покажет весь вывод тестов.

-VV,--extra-verbose

Включение более подробного вывода тестов.

Вывод тестов обычно подавляется, и отображается только сводная информация. Эта опция покажет ещё более подробный вывод тестов.

--debug

Отображение более подробной внутренней информации CTest.

Эта функция приведет к большому объёму вывода, который в основном полезен для отладки проблем с панелью мониторинга.

--output-on-failure
Вывод всего вывода программы теста, если тест должен завершиться неудачно. Эту опцию также можно включить, задав переменную окружения CTEST_OUTPUT_ON_FAILURE.
-F

Включение режима восстановления.

Эта опция позволяет ctest возобновить выполнение набора тестов, который был ранее прерван. Если прерывания не было, опция -F не окажет никакого влияния.

-j <jobs>, --parallel <jobs>

Выполнение тестов параллельно с заданным количеством потоков.

Эта опция сообщает ctest о выполнении тестов параллельно с заданным количеством потоков. Эту опцию также можно задать, установив переменную среды CTEST_PARALLEL_LEVEL.

--test-load <level>

При параллельном выполнении тестов (например, с -j) не запускать тесты, которые могут вызвать повышение нагрузки на процессор свыше заданного порога.

Когда ctest выполняется как Клиент панели мониторинга, это устанавливает опцию TestLoad шага теста CTest.

-Q,--quiet

Сделать ctest неразговорчивым.

Эта опция подавит весь вывод. Файл журнала вывода всё равно будет сгенерирован, если указана опция --output-log. Такие опции как --verbose, --extra-verbose, и --debug игнорируются, если указана --quiet.

-O <file>, --output-log <file>

Вывод в файл журнала.

Эта опция сообщает ctest о записи всего вывода в файл журнала.

-N,--show-only

Отключение фактического выполнения тестов.

Эта опция сообщает ctest отобразить тесты, которые будут выполнены, но не выполнять их на самом деле. Полезно в сочетании с опциями -R и -E.

-L <regex>, --label-regex <regex>

Выполнять тесты с метками, соответствующими регулярному выражению.

Эта опция сообщает ctest выполнять только тесты, чьи метки соответствуют заданному регулярному выражению.

-R <regex>, --tests-regex <regex>

Выполнять тесты, соответствующие регулярному выражению.

Эта опция сообщает ctest выполнять только тесты, чьи имена соответствуют заданному регулярному выражению.

-E <regex>, --exclude-regex <regex>

Исключить тесты, соответствующие регулярному выражению.

Эта опция сообщает ctest НЕ выполнять тесты, чьи имена соответствуют заданному регулярному выражению.

-LE <regex>, --label-exclude <regex>

Исключить тесты с метками, соответствующими регулярному выражению.

Эта опция сообщает ctest НЕ выполнять тесты, чьи метки соответствуют заданному регулярному выражению.

-FA <regex>, --fixture-exclude-any <regex>

Исключить фикстуры, соответствующие <regex> из автоматического добавления любых тестов в набор тестов.

Если тесту в наборе тестов для выполнения требуется конкретная фикстура, установка и очистка этой фикстуры обычно добавляются в набор тестов автоматически. Эта опция предотвращает добавление тестов установки или очистки для фикстур, соответствующих <regex>. Обратите внимание, что все другие поведения фикстур сохраняются, включая зависимости тестов и пропуск тестов, которые имеют тесты установки фикстуры, закончившиеся неудачей.

-FS <regex>, --fixture-exclude-setup <regex>
Аналогично -FA, за исключением того, что исключаются только соответствующие тесты установки.
-FC <regex>, --fixture-exclude-cleanup <regex>
Аналогично -FA, за исключением того, что исключаются только соответствующие тесты очистки.
-D <dashboard>, --dashboard <dashboard>

Выполнение теста панели мониторинга.

Эта опция сообщает ctest действовать как клиент CDash и выполнить тест панели мониторинга. Все тесты имеют вид <Режим><Тест>, где Режим может быть Экспериментальный, Ежедневный и Непрерывный, а Тест может быть Запуск, Обновление, Настройка, Сборка, Тест, Покрытие и Отправка.

-D <var>:<type>=<value>

Определение переменной для режима сценария.

Передача значений переменных в командной строке. Используется совместно с -S для передачи значений переменных в сценарий панели мониторинга. Разбор аргументов -D в качестве значений переменных выполняется только в том случае, если значение, следующее за -D, не соответствует ни одному из известных типов панелей мониторинга.

-M <model>, --test-model <model>

Устанавливает модель для панели мониторинга.

Эта опция сообщает ctest действовать как клиент CDash, где <model> может быть Experimental, Nightly, и Continuous. Сочетание -M и -T аналогично -D.

-T <action>, --test-action <action>

Устанавливает действие панели мониторинга для выполнения.

Эта опция сообщает ctest действовать как клиент CDash и выполнить какое-либо действие, такое как start, build, test и т.д. См. Шаги клиента панели мониторинга для получения полного списка действий. Сочетание -M и -T аналогично -D.

--track <track>

Указание трека для отправки панели мониторинга.

Отправить панель мониторинга в указанный трек вместо стандартного. По умолчанию панель мониторинга отправляется в трек Ежедневный, Экспериментальный или Непрерывный, но с помощью этой опции трек может быть произвольным.

-S <script>, --script <script>

Выполнение панели мониторинга для конфигурации.

Эта опция сообщает ctest загрузить сценарий конфигурации, который устанавливает ряд параметров, таких как каталоги бинарных файлов и исходных кодов. Затем ctest выполнит необходимые действия для создания и запуска панели мониторинга. Эта опция в основном настраивает панель мониторинга и затем запускает ctest -D с соответствующими опциями.

-SP <script>, --script-new-process <script>

Выполнение панели мониторинга для конфигурации.

Эта опция выполняет те же операции, что и -S, но выполнит их в отдельном процессе. Это в первую очередь полезно в тех случаях, когда сценарий может изменить среду, и вы не хотите, чтобы изменённая среда повлияла на другие -S сценарии.

-A <file>, --add-notes <file>

Добавление файла заметок с отправкой.

Эта опция сообщает ctest включить файл заметок при отправке панели мониторинга.

-I [Start,End,Stride,test#,test#|Test file], --tests-information

Выполнение определённого количества тестов по номеру.

Эта опция заставляет ctest запускать тесты, начиная с номера Start, заканчивая номером End, и увеличивая шаг на Stride. Любые дополнительные числа после Stride считаются отдельными номерами тестов. Start, End или stride могут быть пустыми. Дополнительно может быть указан файл, содержащий ту же синтаксическую конструкцию, что и командная строка.

-U, --union

Взятие объединения -I и -R.

Когда обе опции -R и -I указаны, по умолчанию выполняется пересечение тестов. Указав -U, вместо этого выполняется объединение тестов.

--rerun-failed

Выполнение только тестов, которые завершились неудачей ранее.

Эта опция сообщает ctest выполнить только тесты, которые завершились неудачей при предыдущем запуске. При указании этой опции ctest игнорирует все другие опции, предназначенные для изменения списка тестов для выполнения (-L, -R, -E, -LE, -I, и т.д.). В случае, если CTest выполнится, и ни один тест не завершится неудачей, последующие вызовы ctest с опцией --rerun-failed будут выполнять набор тестов, которые последними завершились неудачей (если таковые имеются).

--repeat-until-fail <n>

Требование к каждому тесту выполнить <n> раз без сбоя для прохождения.

Это полезно для обнаружения случайных сбоев в тестовых случаях.

--max-width <width>

Установка максимальной ширины имени теста для вывода.

Установка максимальной ширины каждого имени теста для отображения в выводе. Это позволяет пользователю расширить вывод, чтобы избежать обрезки имени теста, что может быть очень раздражающим.

--interactive-debug-mode [0|1]

Установить режим интерактивности в 0 или 1.

Эта опция заставляет ctest выполнять тесты в интерактивном или неинтерактивном режиме. В Windows это означает, что в неинтерактивном режиме все всплывающие окна отладки системы блокируются. В режиме панели мониторинга (Экспериментальный, Ежедневный, Непрерывный) по умолчанию используется неинтерактивный режим. При простом запуске тестов не для панели мониторинга по умолчанию разрешается отображение всплывающих окон и интерактивная отладка.

--no-label-summary

Отключение сводной информации о времени выполнения для меток.

Эта опция сообщает ctest о невыводе сводной информации для каждой метки, связанной с выполненными тестами. Если тестов нет, дополнительный вывод не происходит.

--no-subproject-summary Отключение сводной информации о времени выполнения для подпроектов.

Эта опция сообщает ctest о невыводе сводной информации для каждого подпроекта, связанного с выполненными тестами. Если подпроектов нет, дополнительный вывод не происходит.

--build-and-test <path-to-source> <path-to-build>

Настроить, скомпилировать и запустить тест.

Этот параметр сообщает ctest о необходимости настройки (т.е. выполнении cmake), компиляции и/или выполнении теста. Шаги настройки и тестирования являются необязательными. Аргументы этой командной строки — это каталоги исходных кодов и библиотек. Параметр --build-generator обязателен для использования --build-and-test. Если указан --test-command, он будет запущен после завершения компиляции. Другие параметры, влияющие на этот режим, — --build-target, --build-nocmake, --build-run-dir, --build-two-config, --build-exe-dir, --build-project, --build-noclean и --build-options.

--build-target

Указать конкретную цель для компиляции.

Этот параметр используется вместе с --build-and-test параметром. Если его опустить, будет скомпилирована цель all.

--build-nocmake

Запустить компиляцию без предварительного запуска cmake.

Пропустить шаг cmake.

--build-run-dir

Указать каталог для запуска программ.

Каталог, в котором будут находиться программы после компиляции.

--build-two-config
Запустить CMake дважды.
--build-exe-dir
Указать каталог для исполняемого файла.
--build-generator
Указать используемый генератор. См. руководство cmake-generators(7).
--build-generator-platform
Указать платформу, специфичную для генератора.
--build-generator-toolset
Указать набор инструментов, специфичный для генератора.
--build-project
Указать имя проекта для компиляции.
--build-makeprogram
Переопределить программу make, выбранную CTest, на указанную.
--build-noclean
Пропустить шаг make clean.
--build-config-sample
Образец исполняемого файла для определения используемой конфигурации (например, Debug/Release и т. д.).
--build-options

Добавить дополнительные параметры к шагу компиляции.

Этот параметр должен быть последним, за исключением --test-command.

--test-command
Тест для запуска с параметром --build-and-test.
--test-output-size-passed <size>
Ограничить вывод пройденных тестов до <size> байт.
--test-output-size-failed <size>
Ограничить вывод проваленных тестов до <size> байт.
--test-timeout
Лимит времени в секундах, только для внутреннего использования.
--tomorrow-tag

Ежедневные или экспериментальные запуски начинаются со следующего дня.

Полезно, если компиляция не завершится за один день.

--ctest-config

Файл конфигурации, используемый для инициализации состояния CTest при отправке данных на панель мониторинга.

Этот параметр сообщает CTest использовать другой файл инициализации вместо CTestConfiguration.tcl. Таким образом, можно использовать несколько файлов инициализации, например, для отправки данных на несколько панелей мониторинга.

--overwrite

Перезаписать параметр конфигурации CTest.

По умолчанию ctest использует параметры конфигурации из файла конфигурации. Этот параметр перезапишет параметр конфигурации.

--extra-submit <file>[;<file>]

Отправить дополнительные файлы на панель мониторинга.

Этот параметр отправит дополнительные файлы на панель мониторинга.

--force-new-ctest-process

Запускать дочерние экземпляры CTest как отдельные процессы.

По умолчанию CTest запускает дочерние экземпляры CTest в рамках одного процесса. Если это поведение нежелательно, этот аргумент принудительно запустит дочерние процессы CTest в отдельных процессах.

--schedule-random

Использовать случайный порядок планирования тестов.

Этот параметр запустит тесты в случайном порядке. Часто используется для обнаружения неявных зависимостей в наборе тестов.

--submit-index
Запись параметра для старого сервера панели мониторинга Dart2. Не использовать.
--timeout <seconds>

Установить глобальный таймаут для всех тестов.

Этот параметр установит глобальный таймаут для всех тестов, у которых нет установленного таймаута.

--stop-time <time>

Установить время, по истечении которого все тесты должны быть остановлены.

Установить реальное время суток, по истечении которого все тесты должны истечь. Пример: 7:00:00 -0400. Принимается любой формат времени, понятный парсеру даты curl. Предполагается местное время, если часовой пояс не указан.

--http1.0

Отправить данные используя HTTP 1.0.

Этот параметр заставит CTest использовать HTTP 1.0 для отправки файлов на панель мониторинга вместо HTTP 1.1.

--no-compress-output

Не сжимать выходные данные тестов при отправке.

Этот флаг выключит автоматическое сжатие выходных данных тестов. Используйте его для сохранения совместимости со старой версией CDash, которая не поддерживает сжатые выходные данные тестов.

--print-labels

Вывести все доступные метки тестов.

Этот параметр не запустит тесты, он просто выведет список всех меток, связанных с набором тестов.

--help,-help,-usage,-h,-H,/?

Вывести информацию об использовании и завершить выполнение.

Информация об использовании описывает базовый интерфейс командной строки и его параметры.

--version,-version,/V [<f>]

Показать заголовок с именем/версией программы и завершить выполнение.

Если указан файл, версия записывается в него. Справка выводится в указанный файл <f> если он задан.

--help-full [<f>]

Вывести все руководства справки и завершить выполнение.

Все руководства выводятся в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-manual <man> [<f>]

Вывести одно руководство справки и завершить выполнение.

Указанное руководство выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-manual-list [<f>]

Вывести список доступных руководств справки и завершить выполнение.

Список содержит все руководства, для которых справка может быть получена с помощью параметра --help-manual за которым следует имя руководства. Справка выводится в указанный файл <f> если он задан.

--help-command <cmd> [<f>]

Вывести справку по одной команде и завершить выполнение.

Запись справки cmake-commands(7) для <cmd> выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-command-list [<f>]

Вывести список команд со справочной информацией и завершить выполнение.

Список содержит все команды, для которых справка может быть получена с помощью параметра --help-command за которым следует имя команды. Справка выводится в указанный файл <f> если он задан.

--help-commands [<f>]

Вывести руководство справки cmake-commands и завершить выполнение.

Руководство cmake-commands(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-module <mod> [<f>]

Вывести справку по одному модулю и завершить выполнение.

Запись справки cmake-modules(7) для <mod> выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-module-list [<f>]

Вывести список модулей со справочной информацией и завершить выполнение.

Список содержит все модули, для которых справка может быть получена с помощью параметра --help-module за которым следует имя модуля. Справка выводится в указанный файл <f> если он задан.

--help-modules [<f>]

Вывести руководство справки cmake-modules и завершить выполнение.

Руководство cmake-modules(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-policy <cmp> [<f>]

Вывести справку по одному политике и завершить выполнение.

Запись справки cmake-policies(7) для <cmp> выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-policy-list [<f>]

Вывести список политик со справочной информацией и завершить выполнение.

Список содержит все политики, для которых справка может быть получена с помощью параметра --help-policy за которым следует имя политики. Справка выводится в указанный файл <f> если он задан.

--help-policies [<f>]

Вывести руководство справки cmake-policies и завершить выполнение.

Руководство cmake-policies(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-property <prop> [<f>]

Вывести справку по одному свойству и завершить выполнение.

Записи справки cmake-properties(7) для <prop> выводятся в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-property-list [<f>]

Вывести список свойств со справочной информацией и завершить выполнение.

Список содержит все свойства, для которых справка может быть получена с помощью параметра --help-property за которым следует имя свойства. Справка выводится в указанный файл <f> если он задан.

--help-properties [<f>]

Вывести руководство справки cmake-properties и завершить выполнение.

Руководство cmake-properties(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-variable <var> [<f>]

Вывести справку по одной переменной и завершить выполнение.

Запись справки cmake-variables(7) для <var> выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

--help-variable-list [<f>]

Вывести список переменных со справочной информацией и завершить выполнение.

Список содержит все переменные, для которых справка может быть получена с помощью параметра --help-variable за которым следует имя переменной. Справка выводится в указанный файл <f> если он задан.

--help-variables [<f>]

Вывести руководство справки cmake-variables и завершить выполнение.

Руководство cmake-variables(7) выводится в удобочитаемом текстовом формате. Справка выводится в указанный файл <f> если он задан.

Клиент панели мониторинга

CTest может работать как клиент приложения панели мониторинга качества программного обеспечения CDash. В качестве клиента панели мониторинга CTest выполняет последовательность шагов для настройки, построения и тестирования программного обеспечения, а затем отправляет результаты на сервер CDash.

Шаги клиента панели мониторинга

CTest определяет упорядоченный список шагов тестирования, некоторые или все из которых могут выполняться как клиент панели мониторинга:

Start
Начать новую отправку на панель мониторинга, которая будет составлена из результатов, записанных следующими шагами. См. раздел Шаг CTest Start ниже.
Update
Обновить дерево исходного кода из его хранилища контроля версий. Записать старую и новую версии и список обновлённых файлов исходного кода. См. раздел Шаг CTest Update ниже.
Configure
Настроить программное обеспечение, выполнив команду в дереве сборки. Записать журнал вывода настройки. См. раздел Шаг CTest Configure ниже.
Build
Собрать программное обеспечение, выполнив команду в дереве сборки. Записать журнал вывода сборки и определить предупреждения и ошибки. См. раздел Шаг CTest Build ниже.
Test
Протестировать программное обеспечение, загрузив CTestTestfile.cmake из дерева сборки и выполнив определённые тесты. Записать вывод и результат каждого теста. См. раздел Шаг CTest Test ниже.
Coverage
Вычислить покрытие исходного кода, запустив инструмент анализа покрытия и записав его вывод. См. раздел Шаг CTest Coverage ниже.
MemCheck
Запустить набор тестов программного обеспечения через инструмент проверки памяти. Записать вывод теста, результаты и проблемы, сообщённые инструментом. См. раздел Шаг CTest MemCheck ниже.
Submit
Отправить результаты, записанные другими шагами тестирования, на сервер панели мониторинга качества программного обеспечения. См. раздел Шаг CTest Submit ниже.

Режимы работы клиента панели мониторинга

CTest определяет три режима работы в качестве клиента панели мониторинга:

Nightly
Этот режим предназначен для вызова один раз в день, обычно ночью. Он включает шаги Start, Update, Configure, Build, Test, Coverage, и Submit по умолчанию. Выбранные шаги выполняются даже если шаг Update не обнаруживает изменений в дереве исходного кода.
Continuous
Этот режим предназначен для многократного вызова в течение дня. Он включает шаги Start, Update, Configure, Build, Test, Coverage, и Submit по умолчанию, но завершается после шага Update если он не обнаруживает изменений в дереве исходного кода.
Experimental
Этот режим предназначен для вызова разработчиком для тестирования локальных изменений. Он включает шаги Start, Configure, Build, Test, Coverage, и Submit по умолчанию.

Клиент панели мониторинга через командную строку CTest

CTest может выполнять тестирование на уже сгенерированном дереве сборки. Запустите команду ctest с текущей рабочей директорией, установленной на дереве сборки, и используйте одну из этих схем:

ctest -D <mode>[<step>]
ctest -M <mode> [ -T <step> ]...

<mode> должен быть одним из вышеперечисленных режимов работы клиента панели мониторинга, и каждый <step> должен быть одним из вышеперечисленных шагов клиента панели мониторинга.

END_OF_DOCUMENT_MARKER

CTest считывает настройки конфигурации клиента панели управления из файла в дереве сборки, который называется либо CTestConfiguration.ini , либо DartConfiguration.tcl (названия являются историческими). Формат файла:

# Lines starting in '#' are comments.
# Other non-blank lines are key-value pairs.
<setting>: <value>

где <setting> — имя настройки, а <value> — значение настройки.

В деревьях сборки, сгенерированных с помощью CMake, этот файл конфигурации генерируется модулем CTest, если он включён проектом. Модуль использует переменные для получения значения каждой настройки, как документировано ниже.

Клиент панели управления через скрипт CTest

CTest может выполнять тестирование, управляемое скриптом cmake-language(7), который создаёт и поддерживает дерево исходного кода и дерева сборки, а также выполняет шаги тестирования. Запустите команду ctest с текущей рабочей директорией, установленной вне любого дерева сборки, и используйте одну из этих подписей:

ctest -S <script>
ctest -SP <script>

Файл <script> должен вызывать команды Команды CTest для явного выполнения шагов тестирования, как документировано ниже. Команды получают настройки конфигурации клиента панели управления из своих аргументов или из переменных, заданных в скрипте.

Конфигурация клиента панели управления

Шаги клиента панели управления (Шаги клиента панели управления) могут быть настроены с помощью именованных настроек, как описано в следующих разделах.

Шаг запуска CTest

Начать новую отправку в панель управления, которая должна состоять из результатов, записанных следующими шагами.

В скрипте CTest команда ctest_start() выполняет этот шаг. Аргументы команды могут указать некоторые из настроек шага. Команда сначала выполняет команду, заданную в переменной CTEST_CHECKOUT_COMMAND, если она задана, для инициализации каталога исходного кода.

Настройки конфигурации включают:

BuildDirectory

Полный путь к дереву сборки проекта.

  • Переменная скрипта CTest: CTEST_BINARY_DIRECTORY
  • Переменная модуля CTest: PROJECT_BINARY_DIR
SourceDirectory

Полный путь к дереву исходного кода проекта.

  • Переменная скрипта CTest: CTEST_SOURCE_DIRECTORY
  • Переменная модуля CTest: PROJECT_SOURCE_DIR

Шаг обновления CTest

В скрипте CTest команда ctest_update() выполняет этот шаг. Аргументы команды могут указать некоторые из настроек шага.

Настройки конфигурации для указания инструмента управления версиями включают:

BZRCommand

bzr инструмент командной строки, используемый, если дерево исходного кода управляется Bazaar.

  • Скрипт CTest переменная: CTEST_BZR_COMMAND
  • CTest переменная модуля: нет
BZRUpdateOptions

Параметры командной строки для BZRCommand при обновлении исходного кода.

  • Скрипт CTest переменная: CTEST_BZR_UPDATE_OPTIONS
  • CTest переменная модуля: нет
CVSCommand

cvs инструмент командной строки, используемый, если дерево исходного кода управляется CVS.

  • Скрипт CTest переменная: CTEST_CVS_COMMAND
  • CTest переменная модуля: CVSCOMMAND
CVSUpdateOptions

Параметры командной строки для CVSCommand при обновлении исходного кода.

  • Скрипт CTest переменная: CTEST_CVS_UPDATE_OPTIONS
  • CTest переменная модуля: CVS_UPDATE_OPTIONS
GITCommand

git инструмент командной строки, используемый, если дерево исходного кода управляется Git.

  • Скрипт CTest переменная: CTEST_GIT_COMMAND
  • CTest переменная модуля: GITCOMMAND

Дерево исходного кода обновляется с помощью git fetch, за которым следует git reset --hard в FETCH_HEAD. Результат соответствует git pull, за исключением того, что любые локальные изменения перезаписываются. Используйте GITUpdateCustom для задания другого подхода.

GITInitSubmodules

Если установлено, CTest обновит подмодули репозитория перед обновлением.

  • Скрипт CTest переменная: CTEST_GIT_INIT_SUBMODULES
  • CTest переменная модуля: CTEST_GIT_INIT_SUBMODULES
GITUpdateCustom

Укажите пользовательскую командную строку (в виде списка, разделённого точкой с запятой), которую нужно выполнить в дереве исходного кода (рабочей области Git), чтобы обновить его вместо выполнения GITCommand.

  • Скрипт CTest переменная: CTEST_GIT_UPDATE_CUSTOM
  • CTest переменная модуля: CTEST_GIT_UPDATE_CUSTOM
GITUpdateOptions

Параметры командной строки для GITCommand при обновлении исходного кода.

  • Скрипт CTest переменная: CTEST_GIT_UPDATE_OPTIONS
  • CTest переменная модуля: GIT_UPDATE_OPTIONS
HGCommand

hg инструмент командной строки, используемый, если дерево исходного кода управляется Mercurial.

  • Скрипт CTest переменная: CTEST_HG_COMMAND
  • CTest переменная модуля: нет
HGUpdateOptions

Параметры командной строки для HGCommand при обновлении исходного кода.

  • Скрипт CTest переменная: CTEST_HG_UPDATE_OPTIONS
  • CTest переменная модуля: нет
P4Client

Значение параметра -c для P4Command.

  • Скрипт CTest переменная: CTEST_P4_CLIENT
  • CTest переменная модуля: CTEST_P4_CLIENT
P4Command

p4 инструмент командной строки, используемый, если дерево исходного кода управляется Perforce.

  • Скрипт CTest переменная: CTEST_P4_COMMAND
  • CTest переменная модуля: P4COMMAND
P4Options

Параметры командной строки для P4Command для всех вызовов.

  • Скрипт CTest переменная: CTEST_P4_OPTIONS
  • CTest переменная модуля: CTEST_P4_OPTIONS
P4UpdateCustom

Укажите пользовательскую командную строку (в виде списка, разделённого точкой с запятой), которую нужно выполнить в дереве исходного кода (дереве Perforce), чтобы обновить его вместо выполнения P4Command.

  • Скрипт CTest переменная: нет
  • CTest переменная модуля: CTEST_P4_UPDATE_CUSTOM
P4UpdateOptions

Параметры командной строки для P4Command при обновлении исходного кода.

  • Скрипт CTest переменная: CTEST_P4_UPDATE_OPTIONS
  • CTest переменная модуля: CTEST_P4_UPDATE_OPTIONS
SVNCommand

svn инструмент командной строки, используемый, если дерево исходного кода управляется Subversion.

  • Скрипт CTest переменная: CTEST_SVN_COMMAND
  • CTest переменная модуля: SVNCOMMAND
SVNOptions

Параметры командной строки для SVNCommand для всех вызовов.

  • Скрипт CTest переменная: CTEST_SVN_OPTIONS
  • CTest переменная модуля: CTEST_SVN_OPTIONS
SVNUpdateOptions

Параметры командной строки для SVNCommand при обновлении исходного кода.

  • Сценарий CTest переменная: CTEST_SVN_UPDATE_OPTIONS
  • CTest модульная переменная: SVN_UPDATE_OPTIONS
UpdateCommand

Укажите инструмент командной строки системы управления версиями для использования без определения VCS, управляющего деревом исходного кода.

  • Сценарий CTest переменная: CTEST_UPDATE_COMMAND
  • CTest модульная переменная: <VCS>COMMAND если UPDATE_TYPE равно <vcs>, иначе UPDATE_COMMAND
UpdateOptions

Параметры командной строки для UpdateCommand.

  • Сценарий CTest переменная: CTEST_UPDATE_OPTIONS
  • CTest модульная переменная: <VCS>_UPDATE_OPTIONS если UPDATE_TYPE равно <vcs>, иначе UPDATE_OPTIONS
UpdateType

Укажите систему управления версиями, которая управляет деревом исходного кода, если ее нельзя автоматически определить. Значение может быть bzr, git, hg, p4, или svn.

  • Сценарий CTest переменная: нет, определено из дерева исходного кода
  • CTest модульная переменная: UPDATE_TYPE если установлено, иначе CTEST_UPDATE_TYPE
UpdateVersionOnly

Укажите, что вы хотите, чтобы команда обновления системы управления версиями обнаруживала только текущую проверенную версию, а не обновлялась до другой версии.

  • Сценарий CTest переменная: CTEST_UPDATE_VERSION_ONLY

Дополнительные параметры конфигурации:

NightlyStartTime

В режиме информационной панели Nightly, укажите «время начала ночной сборки». В централизованных системах управления версиями (cvs и svn) шаг Update проверяет версию программного обеспечения на эту дату и время, чтобы несколько клиентов выбрали общую версию для тестирования. Это не определено в распределённых системах управления версиями, поэтому параметр игнорируется.

  • Сценарий CTest переменная: CTEST_NIGHTLY_START_TIME
  • CTest модульная переменная: NIGHTLY_START_TIME если установлено, иначе CTEST_NIGHTLY_START_TIME

Шаг CTest Настройка

В Сценарии CTest команда ctest_configure() выполняет этот шаг. Аргументы команды могут задать некоторые параметры шага.

Параметры конфигурации включают:

ConfigureCommand

Командная строка для запуска процесса конфигурации программного обеспечения. Она будет выполнена в местоположении, указанном настройкой BuildDirectory.

  • Сценарий CTest переменная: CTEST_CONFIGURE_COMMAND
  • CTest модульная переменная: CMAKE_COMMAND после PROJECT_SOURCE_DIR
LabelsForSubprojects

Укажите список меток, разделенных точкой с запятой, которые будут обрабатываться как подпроекты. Это отображение будет передано в CDash при отправке результатов настройки, тестирования или сборки.

  • Сценарий CTest переменная: CTEST_LABELS_FOR_SUBPROJECTS
  • CTest модульная переменная: CTEST_LABELS_FOR_SUBPROJECTS

Шаг CTest Сборка

В Сценарии CTest команда ctest_build() выполняет этот шаг. Аргументы команды могут задать некоторые параметры шага.

Параметры конфигурации включают:

DefaultCTestConfigurationType

Когда система сборки, которая будет запущена, позволяет выбрать конфигурацию во время сборки (например, Debug, Release), это задаёт конфигурацию по умолчанию, которая будет собрана, если к команде ctest не указан параметр -C. Значение будет подставлено в значение MakeCommand, заменив литеральную строку ${CTEST_CONFIGURATION_TYPE} в случае её наличия.

  • Скрипт CTest переменная: CTEST_CONFIGURATION_TYPE
  • CTest модульная переменная: DEFAULT_CTEST_CONFIGURATION_TYPE, инициализированная переменной среды CMAKE_CONFIG_TYPE
LabelsForSubprojects

Укажите список меток, разделённых точкой с запятой, которые будут обрабатываться как подпроекты. Эта сопоставление будет передана в CDash при отправке результатов настройки, тестирования или сборки.

  • Скрипт CTest переменная: CTEST_LABELS_FOR_SUBPROJECTS
  • CTest модульная переменная: CTEST_LABELS_FOR_SUBPROJECTS
MakeCommand

Команда для запуска процесса сборки программного обеспечения. Она будет выполнена в расположении, указанном параметром BuildDirectory

  • Скрипт CTest переменная: CTEST_BUILD_COMMAND
  • CTest модульная переменная: MAKECOMMAND, инициализированная командой build_command()
UseLaunchers

Для деревьев сборки, сгенерированных CMake с использованием одного из Генераторов Makefile или Ninja генератора, укажите, включено ли свойство CTEST_USE_LAUNCHERS модулем CTestUseLaunchers (также включён модулем CTest). При включении сгенерированная система сборки оборачивает каждый вызов компилятора, компоновщика или пользовательской командной строки «запуском», который взаимодействует с CTest через переменные среды и файлы для отчётности о подробных предупреждениях и ошибках сборки. В противном случае CTest должен «извлекать» диагностику из лога вывода сборки.

  • Скрипт CTest переменная: CTEST_USE_LAUNCHERS
  • CTest модульная переменная: CTEST_USE_LAUNCHERS

Шаг тестирования CTest

В Скрипте CTest команда ctest_test() выполняет этот шаг. Аргументы команды могут указывать некоторые настройки шага.

Настройки конфигурации включают:

LabelsForSubprojects

Укажите список меток, разделённых точкой с запятой, которые будут обрабатываться как подпроекты. Эта сопоставление будет передана в CDash при отправке результатов настройки, тестирования или сборки.

  • Скрипт CTest переменная: CTEST_LABELS_FOR_SUBPROJECTS
  • CTest модульная переменная: CTEST_LABELS_FOR_SUBPROJECTS
TestLoad

При параллельном выполнении тестов (например, с -j), старайтесь не запускать тесты, которые могут вызвать превышение заданного порога нагрузки процессора.

  • Скрипт CTest переменная: CTEST_TEST_LOAD
  • CTest модульная переменная: CTEST_TEST_LOAD
TimeOut

Значение таймаута по умолчанию для каждого теста, если не указано свойством теста TIMEOUT.

  • Скрипт CTest переменная: CTEST_TEST_TIMEOUT
  • CTest модульная переменная: DART_TESTING_TIMEOUT

Шаг покрытия кода CTest

В Скрипте CTest команда ctest_coverage() выполняет этот шаг. Аргументы команды могут указывать некоторые настройки шага.

Настройки конфигурации включают:

CoverageCommand

Командная утилита для анализа покрытия программного обеспечения. Она будет выполнена в расположении, указанном параметром BuildDirectory.

  • Скрипт CTest переменная: CTEST_COVERAGE_COMMAND
  • CTest модульная переменная: COVERAGE_COMMAND
CoverageExtraFlags

Укажите командные параметры для инструмента CoverageCommand.

  • Скрипт CTest переменная: CTEST_COVERAGE_EXTRA_FLAGS
  • CTest модульная переменная: COVERAGE_EXTRA_FLAGS

Эти параметры являются первыми аргументами, передаваемыми инструменту CoverageCommand.

Шаг проверки памяти CTest

В Скрипте CTest команда ctest_memcheck() выполняет этот шаг. Аргументы команды могут указывать некоторые настройки шага.

Настройки конфигурации включают:

MemoryCheckCommand

Утилита командной строки для выполнения динамического анализа. Командные строки тестов будут запускаться с помощью этой утилиты.

  • Сценарий CTest переменная: CTEST_MEMORYCHECK_COMMAND
  • CTest модульная переменная: MEMORYCHECK_COMMAND
MemoryCheckCommandOptions

Укажите параметры командной строки для утилиты MemoryCheckCommand. Они будут размещены перед командной строкой теста.

  • Сценарий CTest переменная: CTEST_MEMORYCHECK_COMMAND_OPTIONS
  • CTest модульная переменная: MEMORYCHECK_COMMAND_OPTIONS
MemoryCheckType

Укажите тип проверки памяти для выполнения.

  • Сценарий CTest переменная: CTEST_MEMORYCHECK_TYPE
  • CTest модульная переменная: MEMORYCHECK_TYPE
MemoryCheckSanitizerOptions

Укажите параметры для инструментов проверки при запуске с включенной проверкой на ошибки (sanitize).

  • Сценарий CTest переменная: CTEST_MEMORYCHECK_SANITIZER_OPTIONS
  • CTest модульная переменная: MEMORYCHECK_SANITIZER_OPTIONS
MemoryCheckSuppressionFile

Укажите файл с правилами подавления для утилиты MemoryCheckCommand. Он будет передан с параметрами, соответствующими этой утилите.

  • Сценарий CTest переменная: CTEST_MEMORYCHECK_SUPPRESSIONS_FILE
  • CTest модульная переменная: MEMORYCHECK_SUPPRESSIONS_FILE

Дополнительные параметры конфигурации включают:

BoundsCheckerCommand

Укажите MemoryCheckCommand, который известен своей совместимостью с командной строкой Bounds Checker.

  • Сценарий CTest переменная: none
  • CTest модульная переменная: none
PurifyCommand

Укажите MemoryCheckCommand, который известен своей совместимостью с командной строкой Purify.

  • Сценарий CTest переменная: none
  • CTest модульная переменная: PURIFYCOMMAND
ValgrindCommand

Укажите MemoryCheckCommand, который известен своей совместимостью с командной строкой Valgrind.

  • Сценарий CTest переменная: none
  • CTest модульная переменная: VALGRIND_COMMAND
ValgrindCommandOptions

Укажите параметры командной строки для утилиты ValgrindCommand. Они будут размещены перед командной строкой теста.

  • Сценарий CTest переменная: none
  • CTest модульная переменная: VALGRIND_COMMAND_OPTIONS

Шаг CTest Submit

В Сценарии CTest команда ctest_submit() выполняет этот шаг. Аргументы команды могут задавать некоторые настройки шага.

Настройки конфигурации включают:

BuildName

Опишите платформу клиента для панели мониторинга краткой строкой. (Операционная система, компилятор и т. д.)

  • Сценарий CTest переменная: CTEST_BUILD_NAME
  • CTest модульная переменная: BUILDNAME
CDashVersion

Укажите версию CDash на сервере.

  • Сценарий CTest переменная: не указано, определено из сервера
  • CTest модульная переменная: CTEST_CDASH_VERSION
CTestSubmitRetryCount

Укажите количество попыток повторной отправки при сбое сети.

  • Сценарий CTest переменная: не указано, используйте параметр ctest_submit() RETRY_COUNT.
  • CTest модульная переменная: CTEST_SUBMIT_RETRY_COUNT
CTestSubmitRetryDelay

Укажите задержку перед повторной отправкой при сбое сети.

  • Сценарий CTest переменная: не указано, используйте параметр ctest_submit() RETRY_DELAY.
  • CTest модульная переменная: CTEST_SUBMIT_RETRY_DELAY
CurlOptions

Укажите список параметров, разделенных точкой с запятой, для управления библиотекой Curl, которую CTest использует для подключения к серверу. Возможные параметры — CURLOPT_SSL_VERIFYPEER_OFF и CURLOPT_SSL_VERIFYHOST_OFF.

  • Сценарий CTest переменная: CTEST_CURL_OPTIONS
  • CTest модульная переменная: CTEST_CURL_OPTIONS
DropLocation

Путь на сервере панели мониторинга для отправки отчета.

  • Сценарий CTest переменная: CTEST_DROP_LOCATION
  • CTest модульная переменная: DROP_LOCATION если указано, иначе CTEST_DROP_LOCATION
DropMethod

Укажите метод отправки результатов на сервер панели мониторинга. Значение может быть cp, ftp, http, https, scp, или xmlrpc (если CMake был скомпилирован с поддержкой этого).

  • Сценарий CTest переменная: CTEST_DROP_METHOD
  • CTest модульная переменная: DROP_METHOD если указано, иначе CTEST_DROP_METHOD
DropSite

Имя сервера панели мониторинга (для ftp, http, https, scp, и xmlrpc).

  • Сценарий CTest переменная: CTEST_DROP_SITE
  • CTest модульная переменная: DROP_SITE если указано, иначе CTEST_DROP_SITE
DropSitePassword

Пароль для входа на сервер панели мониторинга (если требуется, для ftp, http, и https).

  • Сценарий CTest переменная: CTEST_DROP_SITE_PASSWORD
  • CTest модульная переменная: DROP_SITE_PASSWORD если указано, иначе CTEST_DROP_SITE_PASWORD
DropSiteUser

Имя пользователя для входа на сервер панели мониторинга (если требуется, для ftp, http, и https).

  • Сценарий CTest переменная: CTEST_DROP_SITE_USER
  • CTest модульная переменная: DROP_SITE_USER если указано, иначе CTEST_DROP_SITE_USER
IsCDash

Укажите, является ли сервер панели мониторинга CDash или более старой реализацией сервера панели мониторинга, требующей TriggerSite.

  • Сценарий CTest переменная: CTEST_DROP_SITE_CDASH
  • CTest модульная переменная: CTEST_DROP_SITE_CDASH
ScpCommand

scp командная утилита для использования при DropMethod равняется scp.

  • Сценарий CTest переменная: CTEST_SCP_COMMAND
  • CTest модульная переменная: SCPCOMMAND
Site

Опишите сайт хоста клиента панели мониторинга краткой строкой. (Имя хоста, домен и т. д.)

  • Сценарий CTest переменная: CTEST_SITE
  • CTest модульная переменная: SITE, инициализирована командой site_name()
TriggerSite

Устаревший параметр для поддержки более старых реализаций сервера панели мониторинга. Не используется, если IsCDash равно true.

  • Сценарий CTest переменная: CTEST_TRIGGER_SITE
  • CTest модульная переменная: TRIGGER_SITE если указано, иначе CTEST_TRIGGER_SITE

См. также

Следующие ресурсы помогут вам разобраться с использованием CMake:

Главная страница

https://cmake.org

Основной отправной пункт для изучения CMake.

Часто задаваемые вопросы

https://cmake.org/Wiki/CMake_FAQ

Wiki содержит ответы на часто задаваемые вопросы.

Документация онлайн

https://cmake.org/documentation

Ссылки на доступную документацию можно найти на этой странице.

Список рассылки

https://cmake.org/mailing-lists

Для получения помощи и обсуждения использования CMake предоставлен список рассылки по адресу cmake@cmake.org. Список рассылки доступен только для подписчиков, но вы можете подписаться на нем на странице CMake. Сначала ознакомьтесь с полной документацией по адресу https://cmake.org, прежде чем задавать вопросы на списке рассылки.

© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.10/manual/ctest.1.html

Spec-Zone.ru

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