Spec-Zone.ru › CMake

add_test

Добавить тест в проект для выполнения командой ctest(1).

add_test(NAME <name> COMMAND <command> [<arg>...]
         [CONFIGURATIONS <config>...]
         [WORKING_DIRECTORY <dir>]
         [COMMAND_EXPAND_LISTS])

Добавляет тест с именем <name>. Имя теста может содержать произвольные символы, выраженные в виде Цитатированного аргумента или Аргумента в скобках, если необходимо. См. политику CMP0110.

CMake генерирует тесты только если команда enable_testing() была вызвана. Модуль CTest вызывает enable_testing автоматически, если BUILD_TESTING не установлено в значение OFF.

Тесты, добавленные с помощью add_test(NAME) подписи, поддерживают использование generator expressions в свойствах тестов, установленных командами set_property(TEST) или set_tests_properties(). Свойства тестов могут быть установлены только в каталоге, где создаётся тест.

add_test параметры:

COMMAND

Указывает командную строку для запуска теста.

Если <command> указывает целевой исполняемый файл, созданный командой add_executable():

  • Он будет автоматически заменён на расположение исполняемого файла, созданного во время сборки.
  • Добавлена в версии 3.3: Целевой CROSSCOMPILING_EMULATOR, если установлен, будет использован для запуска команды на хосте:

    <emulator> <command>
    

    Изменено в версии 3.29: Эмулятор используется только когда cross-compiling. См. политику CMP0158.

  • Добавлена в версии 3.29: Целевой TEST_LAUNCHER, если установлен, будет использован для запуска команды:

    <launcher> <command>
    

    Если также установлен CROSSCOMPILING_EMULATOR, оба используются:

    <launcher> <emulator> <command>
    

Команда может быть указана с использованием generator expressions.

CONFIGURATIONS

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

WORKING_DIRECTORY

Установить свойство теста WORKING_DIRECTORY для выполнения теста. Если не указано, тест будет выполнен в CMAKE_CURRENT_BINARY_DIR. Каталог выполнения может быть указан с использованием generator expressions.

COMMAND_EXPAND_LISTS

Добавлена в версии 3.16.

Списки в COMMAND аргументах будут расширены, включая те, что созданы с помощью generator expressions.

Если команда теста завершается с кодом 0, тест проходит. ненулевой код выхода означает "неудачный" тест. Свойство теста WILL_FAIL инвертирует эту логику. Обратите внимание, что системные сбои теста, такие как ошибки сегментации или кучи, всё равно приведут к неудаче теста, даже если WILL_FAIL истинно. Вывод, записанный в stdout или stderr, захватывается ctest(1) и влияет только на статус успешного/неуспешного выполнения через PASS_REGULAR_EXPRESSION, FAIL_REGULAR_EXPRESSION или SKIP_REGULAR_EXPRESSION свойства тестов.

Добавлена в версии 3.16: Добавлено свойство SKIP_REGULAR_EXPRESSION.

Пример использования:

add_test(NAME mytest
         COMMAND testDriver --config $<CONFIG>
                            --exe $<TARGET_FILE:myexe>)

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

Вышеприведённый синтаксис команды рекомендуется вместо более старой, менее гибкой формы:

add_test(<name> <command> [<arg>...])

Добавить тест с именем <name> с заданной командной строкой.

В отличие от вышеприведённой NAME подписи, имена целевых объектов не поддерживаются в командной строке. Кроме того, тесты, добавленные с этой подписью, не поддерживают generator expressions в командной строке или свойствах тестов.

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/command/add_test.html

Spec-Zone.ru

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