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> должен быть одним из вышеперечисленных шагов клиента панели мониторинга.
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
-
Переменная скрипта CTest:
-
SourceDirectory -
Полный путь к дереву исходного кода проекта.
-
Переменная скрипта CTest:
CTEST_SOURCE_DIRECTORY -
Переменная модуля
CTest:PROJECT_SOURCE_DIR
-
Переменная скрипта CTest:
Шаг обновления CTest
В скрипте CTest команда ctest_update() выполняет этот шаг. Аргументы команды могут указать некоторые из настроек шага.
Настройки конфигурации для указания инструмента управления версиями включают:
-
BZRCommand -
bzrинструмент командной строки, используемый, если дерево исходного кода управляется Bazaar.-
Скрипт CTest переменная:
CTEST_BZR_COMMAND -
CTestпеременная модуля: нет
-
Скрипт CTest переменная:
-
BZRUpdateOptions -
Параметры командной строки для
BZRCommandпри обновлении исходного кода.-
Скрипт CTest переменная:
CTEST_BZR_UPDATE_OPTIONS -
CTestпеременная модуля: нет
-
Скрипт CTest переменная:
-
CVSCommand -
cvsинструмент командной строки, используемый, если дерево исходного кода управляется CVS.-
Скрипт CTest переменная:
CTEST_CVS_COMMAND -
CTestпеременная модуля:CVSCOMMAND
-
Скрипт CTest переменная:
-
CVSUpdateOptions -
Параметры командной строки для
CVSCommandпри обновлении исходного кода.-
Скрипт CTest переменная:
CTEST_CVS_UPDATE_OPTIONS -
CTestпеременная модуля:CVS_UPDATE_OPTIONS
-
Скрипт CTest переменная:
-
GITCommand -
gitинструмент командной строки, используемый, если дерево исходного кода управляется Git.-
Скрипт CTest переменная:
CTEST_GIT_COMMAND -
CTestпеременная модуля:GITCOMMAND
Дерево исходного кода обновляется с помощью
git fetch, за которым следуетgit reset --hardвFETCH_HEAD. Результат соответствуетgit pull, за исключением того, что любые локальные изменения перезаписываются. ИспользуйтеGITUpdateCustomдля задания другого подхода. -
Скрипт CTest переменная:
-
GITInitSubmodules -
Если установлено, CTest обновит подмодули репозитория перед обновлением.
-
Скрипт CTest переменная:
CTEST_GIT_INIT_SUBMODULES -
CTestпеременная модуля:CTEST_GIT_INIT_SUBMODULES
-
Скрипт CTest переменная:
-
GITUpdateCustom -
Укажите пользовательскую командную строку (в виде списка, разделённого точкой с запятой), которую нужно выполнить в дереве исходного кода (рабочей области Git), чтобы обновить его вместо выполнения
GITCommand.-
Скрипт CTest переменная:
CTEST_GIT_UPDATE_CUSTOM -
CTestпеременная модуля:CTEST_GIT_UPDATE_CUSTOM
-
Скрипт CTest переменная:
-
GITUpdateOptions -
Параметры командной строки для
GITCommandпри обновлении исходного кода.-
Скрипт CTest переменная:
CTEST_GIT_UPDATE_OPTIONS -
CTestпеременная модуля:GIT_UPDATE_OPTIONS
-
Скрипт CTest переменная:
-
HGCommand -
hgинструмент командной строки, используемый, если дерево исходного кода управляется Mercurial.-
Скрипт CTest переменная:
CTEST_HG_COMMAND -
CTestпеременная модуля: нет
-
Скрипт CTest переменная:
-
HGUpdateOptions -
Параметры командной строки для
HGCommandпри обновлении исходного кода.-
Скрипт CTest переменная:
CTEST_HG_UPDATE_OPTIONS -
CTestпеременная модуля: нет
-
Скрипт CTest переменная:
-
P4Client -
Значение параметра
-cдляP4Command.-
Скрипт CTest переменная:
CTEST_P4_CLIENT -
CTestпеременная модуля:CTEST_P4_CLIENT
-
Скрипт CTest переменная:
-
P4Command -
p4инструмент командной строки, используемый, если дерево исходного кода управляется Perforce.-
Скрипт CTest переменная:
CTEST_P4_COMMAND -
CTestпеременная модуля:P4COMMAND
-
Скрипт CTest переменная:
-
P4Options -
Параметры командной строки для
P4Commandдля всех вызовов.-
Скрипт CTest переменная:
CTEST_P4_OPTIONS -
CTestпеременная модуля:CTEST_P4_OPTIONS
-
Скрипт CTest переменная:
-
P4UpdateCustom -
Укажите пользовательскую командную строку (в виде списка, разделённого точкой с запятой), которую нужно выполнить в дереве исходного кода (дереве Perforce), чтобы обновить его вместо выполнения
P4Command.- Скрипт CTest переменная: нет
-
CTestпеременная модуля:CTEST_P4_UPDATE_CUSTOM
-
P4UpdateOptions -
Параметры командной строки для
P4Commandпри обновлении исходного кода.-
Скрипт CTest переменная:
CTEST_P4_UPDATE_OPTIONS -
CTestпеременная модуля:CTEST_P4_UPDATE_OPTIONS
-
Скрипт CTest переменная:
-
SVNCommand -
svnинструмент командной строки, используемый, если дерево исходного кода управляется Subversion.-
Скрипт CTest переменная:
CTEST_SVN_COMMAND -
CTestпеременная модуля:SVNCOMMAND
-
Скрипт CTest переменная:
-
SVNOptions -
Параметры командной строки для
SVNCommandдля всех вызовов.-
Скрипт CTest переменная:
CTEST_SVN_OPTIONS -
CTestпеременная модуля:CTEST_SVN_OPTIONS
-
Скрипт CTest переменная:
-
SVNUpdateOptions
-
Параметры командной строки для
SVNCommandпри обновлении исходного кода.-
Сценарий CTest переменная:
CTEST_SVN_UPDATE_OPTIONS -
CTestмодульная переменная:SVN_UPDATE_OPTIONS
-
Сценарий CTest переменная:
-
UpdateCommand -
Укажите инструмент командной строки системы управления версиями для использования без определения VCS, управляющего деревом исходного кода.
-
Сценарий CTest переменная:
CTEST_UPDATE_COMMAND -
CTestмодульная переменная:<VCS>COMMANDеслиUPDATE_TYPEравно<vcs>, иначеUPDATE_COMMAND
-
Сценарий CTest переменная:
-
UpdateOptions -
Параметры командной строки для
UpdateCommand.-
Сценарий CTest переменная:
CTEST_UPDATE_OPTIONS -
CTestмодульная переменная:<VCS>_UPDATE_OPTIONSеслиUPDATE_TYPEравно<vcs>, иначеUPDATE_OPTIONS
-
Сценарий CTest переменная:
-
UpdateType -
Укажите систему управления версиями, которая управляет деревом исходного кода, если ее нельзя автоматически определить. Значение может быть
bzr,git,hg,p4, илиsvn.- Сценарий CTest переменная: нет, определено из дерева исходного кода
-
CTestмодульная переменная:UPDATE_TYPEесли установлено, иначеCTEST_UPDATE_TYPE
-
UpdateVersionOnly -
Укажите, что вы хотите, чтобы команда обновления системы управления версиями обнаруживала только текущую проверенную версию, а не обновлялась до другой версии.
-
Сценарий CTest переменная:
CTEST_UPDATE_VERSION_ONLY
-
Сценарий CTest переменная:
Дополнительные параметры конфигурации:
-
NightlyStartTime -
В режиме информационной панели
Nightly, укажите «время начала ночной сборки». В централизованных системах управления версиями (cvsиsvn) шагUpdateпроверяет версию программного обеспечения на эту дату и время, чтобы несколько клиентов выбрали общую версию для тестирования. Это не определено в распределённых системах управления версиями, поэтому параметр игнорируется.-
Сценарий CTest переменная:
CTEST_NIGHTLY_START_TIME -
CTestмодульная переменная:NIGHTLY_START_TIMEесли установлено, иначеCTEST_NIGHTLY_START_TIME
-
Сценарий CTest переменная:
Шаг CTest Настройка
В Сценарии CTest команда ctest_configure() выполняет этот шаг. Аргументы команды могут задать некоторые параметры шага.
Параметры конфигурации включают:
-
ConfigureCommand -
Командная строка для запуска процесса конфигурации программного обеспечения. Она будет выполнена в местоположении, указанном настройкой
BuildDirectory.-
Сценарий CTest переменная:
CTEST_CONFIGURE_COMMAND -
CTestмодульная переменная:CMAKE_COMMANDпослеPROJECT_SOURCE_DIR
-
Сценарий CTest переменная:
-
LabelsForSubprojects -
Укажите список меток, разделенных точкой с запятой, которые будут обрабатываться как подпроекты. Это отображение будет передано в CDash при отправке результатов настройки, тестирования или сборки.
-
Сценарий CTest переменная:
CTEST_LABELS_FOR_SUBPROJECTS -
CTestмодульная переменная:CTEST_LABELS_FOR_SUBPROJECTS
-
Сценарий CTest переменная:
Шаг 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
-
Скрипт CTest переменная:
-
LabelsForSubprojects -
Укажите список меток, разделённых точкой с запятой, которые будут обрабатываться как подпроекты. Эта сопоставление будет передана в CDash при отправке результатов настройки, тестирования или сборки.
-
Скрипт CTest переменная:
CTEST_LABELS_FOR_SUBPROJECTS -
CTestмодульная переменная:CTEST_LABELS_FOR_SUBPROJECTS
-
Скрипт CTest переменная:
-
MakeCommand -
Команда для запуска процесса сборки программного обеспечения. Она будет выполнена в расположении, указанном параметром
BuildDirectory-
Скрипт CTest переменная:
CTEST_BUILD_COMMAND -
CTestмодульная переменная:MAKECOMMAND, инициализированная командойbuild_command()
-
Скрипт CTest переменная:
-
UseLaunchers -
Для деревьев сборки, сгенерированных CMake с использованием одного из Генераторов Makefile или
Ninjaгенератора, укажите, включено ли свойствоCTEST_USE_LAUNCHERSмодулемCTestUseLaunchers(также включён модулемCTest). При включении сгенерированная система сборки оборачивает каждый вызов компилятора, компоновщика или пользовательской командной строки «запуском», который взаимодействует с CTest через переменные среды и файлы для отчётности о подробных предупреждениях и ошибках сборки. В противном случае CTest должен «извлекать» диагностику из лога вывода сборки.-
Скрипт CTest переменная:
CTEST_USE_LAUNCHERS -
CTestмодульная переменная:CTEST_USE_LAUNCHERS
-
Скрипт CTest переменная:
Шаг тестирования CTest
В Скрипте CTest команда ctest_test() выполняет этот шаг. Аргументы команды могут указывать некоторые настройки шага.
Настройки конфигурации включают:
-
LabelsForSubprojects -
Укажите список меток, разделённых точкой с запятой, которые будут обрабатываться как подпроекты. Эта сопоставление будет передана в CDash при отправке результатов настройки, тестирования или сборки.
-
Скрипт CTest переменная:
CTEST_LABELS_FOR_SUBPROJECTS -
CTestмодульная переменная:CTEST_LABELS_FOR_SUBPROJECTS
-
Скрипт CTest переменная:
-
TestLoad -
При параллельном выполнении тестов (например, с
-j), старайтесь не запускать тесты, которые могут вызвать превышение заданного порога нагрузки процессора.-
Скрипт CTest переменная:
CTEST_TEST_LOAD -
CTestмодульная переменная:CTEST_TEST_LOAD
-
Скрипт CTest переменная:
-
TimeOut -
Значение таймаута по умолчанию для каждого теста, если не указано свойством теста
TIMEOUT.-
Скрипт CTest переменная:
CTEST_TEST_TIMEOUT -
CTestмодульная переменная:DART_TESTING_TIMEOUT
-
Скрипт CTest переменная:
Шаг покрытия кода CTest
В Скрипте CTest команда ctest_coverage() выполняет этот шаг. Аргументы команды могут указывать некоторые настройки шага.
Настройки конфигурации включают:
-
CoverageCommand -
Командная утилита для анализа покрытия программного обеспечения. Она будет выполнена в расположении, указанном параметром
BuildDirectory.-
Скрипт CTest переменная:
CTEST_COVERAGE_COMMAND -
CTestмодульная переменная:COVERAGE_COMMAND
-
Скрипт CTest переменная:
-
CoverageExtraFlags -
Укажите командные параметры для инструмента
CoverageCommand.-
Скрипт CTest переменная:
CTEST_COVERAGE_EXTRA_FLAGS -
CTestмодульная переменная:COVERAGE_EXTRA_FLAGS
Эти параметры являются первыми аргументами, передаваемыми инструменту
CoverageCommand. -
Скрипт CTest переменная:
Шаг проверки памяти CTest
В Скрипте CTest команда ctest_memcheck() выполняет этот шаг. Аргументы команды могут указывать некоторые настройки шага.
Настройки конфигурации включают:
-
MemoryCheckCommand -
Утилита командной строки для выполнения динамического анализа. Командные строки тестов будут запускаться с помощью этой утилиты.
-
Сценарий CTest переменная:
CTEST_MEMORYCHECK_COMMAND -
CTestмодульная переменная:MEMORYCHECK_COMMAND
-
Сценарий CTest переменная:
-
MemoryCheckCommandOptions -
Укажите параметры командной строки для утилиты
MemoryCheckCommand. Они будут размещены перед командной строкой теста.-
Сценарий CTest переменная:
CTEST_MEMORYCHECK_COMMAND_OPTIONS -
CTestмодульная переменная:MEMORYCHECK_COMMAND_OPTIONS
-
Сценарий CTest переменная:
-
MemoryCheckType -
Укажите тип проверки памяти для выполнения.
-
Сценарий CTest переменная:
CTEST_MEMORYCHECK_TYPE -
CTestмодульная переменная:MEMORYCHECK_TYPE
-
Сценарий CTest переменная:
-
MemoryCheckSanitizerOptions -
Укажите параметры для инструментов проверки при запуске с включенной проверкой на ошибки (sanitize).
-
Сценарий CTest переменная:
CTEST_MEMORYCHECK_SANITIZER_OPTIONS -
CTestмодульная переменная:MEMORYCHECK_SANITIZER_OPTIONS
-
Сценарий CTest переменная:
-
MemoryCheckSuppressionFile -
Укажите файл с правилами подавления для утилиты
MemoryCheckCommand. Он будет передан с параметрами, соответствующими этой утилите.-
Сценарий CTest переменная:
CTEST_MEMORYCHECK_SUPPRESSIONS_FILE -
CTestмодульная переменная:MEMORYCHECK_SUPPRESSIONS_FILE
-
Сценарий CTest переменная:
Дополнительные параметры конфигурации включают:
-
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
-
Сценарий CTest переменная:
-
CDashVersion -
Укажите версию CDash на сервере.
- Сценарий CTest переменная: не указано, определено из сервера
-
CTestмодульная переменная:CTEST_CDASH_VERSION
-
CTestSubmitRetryCount -
Укажите количество попыток повторной отправки при сбое сети.
-
Сценарий CTest переменная: не указано, используйте параметр
ctest_submit()RETRY_COUNT. -
CTestмодульная переменная:CTEST_SUBMIT_RETRY_COUNT
-
Сценарий CTest переменная: не указано, используйте параметр
-
CTestSubmitRetryDelay -
Укажите задержку перед повторной отправкой при сбое сети.
-
Сценарий CTest переменная: не указано, используйте параметр
ctest_submit()RETRY_DELAY. -
CTestмодульная переменная:CTEST_SUBMIT_RETRY_DELAY
-
Сценарий CTest переменная: не указано, используйте параметр
-
CurlOptions -
Укажите список параметров, разделенных точкой с запятой, для управления библиотекой Curl, которую CTest использует для подключения к серверу. Возможные параметры —
CURLOPT_SSL_VERIFYPEER_OFFиCURLOPT_SSL_VERIFYHOST_OFF.-
Сценарий CTest переменная:
CTEST_CURL_OPTIONS -
CTestмодульная переменная:CTEST_CURL_OPTIONS
-
Сценарий CTest переменная:
-
DropLocation -
Путь на сервере панели мониторинга для отправки отчета.
-
Сценарий CTest переменная:
CTEST_DROP_LOCATION -
CTestмодульная переменная:DROP_LOCATIONесли указано, иначеCTEST_DROP_LOCATION
-
Сценарий CTest переменная:
-
DropMethod -
Укажите метод отправки результатов на сервер панели мониторинга. Значение может быть
cp,ftp,http,https,scp, илиxmlrpc(если CMake был скомпилирован с поддержкой этого).-
Сценарий CTest переменная:
CTEST_DROP_METHOD -
CTestмодульная переменная:DROP_METHODесли указано, иначеCTEST_DROP_METHOD
-
Сценарий CTest переменная:
-
DropSite -
Имя сервера панели мониторинга (для
ftp,http,https,scp, иxmlrpc).-
Сценарий CTest переменная:
CTEST_DROP_SITE -
CTestмодульная переменная:DROP_SITEесли указано, иначеCTEST_DROP_SITE
-
Сценарий CTest переменная:
-
DropSitePassword -
Пароль для входа на сервер панели мониторинга (если требуется, для
ftp,http, иhttps).-
Сценарий CTest переменная:
CTEST_DROP_SITE_PASSWORD -
CTestмодульная переменная:DROP_SITE_PASSWORDесли указано, иначеCTEST_DROP_SITE_PASWORD
-
Сценарий CTest переменная:
-
DropSiteUser -
Имя пользователя для входа на сервер панели мониторинга (если требуется, для
ftp,http, иhttps).-
Сценарий CTest переменная:
CTEST_DROP_SITE_USER -
CTestмодульная переменная:DROP_SITE_USERесли указано, иначеCTEST_DROP_SITE_USER
-
Сценарий CTest переменная:
-
IsCDash -
Укажите, является ли сервер панели мониторинга CDash или более старой реализацией сервера панели мониторинга, требующей
TriggerSite.-
Сценарий CTest переменная:
CTEST_DROP_SITE_CDASH -
CTestмодульная переменная:CTEST_DROP_SITE_CDASH
-
Сценарий CTest переменная:
-
ScpCommand -
scpкомандная утилита для использования приDropMethodравняетсяscp.-
Сценарий CTest переменная:
CTEST_SCP_COMMAND -
CTestмодульная переменная:SCPCOMMAND
-
Сценарий CTest переменная:
-
Site -
Опишите сайт хоста клиента панели мониторинга краткой строкой. (Имя хоста, домен и т. д.)
-
Сценарий CTest переменная:
CTEST_SITE -
CTestмодульная переменная:SITE, инициализирована командойsite_name()
-
Сценарий CTest переменная:
-
TriggerSite -
Устаревший параметр для поддержки более старых реализаций сервера панели мониторинга. Не используется, если
IsCDashравно true.-
Сценарий CTest переменная:
CTEST_TRIGGER_SITE -
CTestмодульная переменная:TRIGGER_SITEесли указано, иначеCTEST_TRIGGER_SITE
-
Сценарий CTest переменная:
См. также
Следующие ресурсы помогут вам разобраться с использованием CMake:
- Главная страница
-
Основной отправной пункт для изучения 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