add_test
Добавить тест в проект, который будет выполняться ctest(1).
add_test(NAME <name> COMMAND <command> [<arg>...]
[CONFIGURATIONS <config>...]
[WORKING_DIRECTORY <dir>]
[COMMAND_EXPAND_LISTS])
Добавляет тест с именем <name>. Имя теста может содержать произвольные символы, выраженные как Цитата аргумента или Аргумент в скобках, если необходимо. См. политику CMP0110. Доступные опции:
-
COMMAND -
Укажите командную строку для теста. Если
<command>указывает целевой исполняемый файл (созданный с помощьюadd_executable()), он будет автоматически заменён путём исполняемого файла, созданного во время сборки. -
CONFIGURATIONS -
Ограничить выполнение теста только указанными конфигурациями.
-
WORKING_DIRECTORY -
Установить свойство теста
WORKING_DIRECTORYдля указания рабочей директории, в которой будет выполняться тест. Если не указано, тест будет выполнен в текущей рабочей директории, которая будет установлена в директорию сборки, соответствующую текущей директории исходных файлов. -
COMMAND_EXPAND_LISTS -
Новая в версии 3.16.
Списки в
COMMANDаргументах будут расширены, включая те, что созданы с помощьюgenerator expressions.
Ожидается, что данный командный интерпретатор теста завершится с кодом 0 для успешного выполнения и ненулевым кодом для неудачи, или наоборот, если установлено свойство теста WILL_FAIL. Любой вывод в stdout или stderr будет перехвачен ctest(1), но не повлияет на статус «пройти/не пройти», если не используется свойство теста PASS_REGULAR_EXPRESSION, FAIL_REGULAR_EXPRESSION или SKIP_REGULAR_EXPRESSION.
Новая в версии 3.16: Добавлено свойство SKIP_REGULAR_EXPRESSION.
Опции COMMAND и WORKING_DIRECTORY могут использовать «генераторные выражения» с синтаксисом $<...>. См. руководство по cmake-generator-expressions(7) для доступных выражений.
Пример использования:
add_test(NAME mytest
COMMAND testDriver --config $<CONFIG>
--exe $<TARGET_FILE:myexe>)
Это создаёт тест mytest , чья команда выполняет инструмент testDriver , передавая имя конфигурации и полный путь к исполняемому файлу, созданному целевой задачей myexe.
Примечание
CMake сгенерирует тесты только если команда enable_testing() была вызвана. Модуль CTest автоматически вызывает эту команду, если опция BUILD_TESTING не отключена OFF.
add_test(<name> <command> [<arg>...])
Добавить тест с именем <name> с заданной командной строкой. В отличие от вышеприведенной NAME сигнатуры, никакие преобразования командной строки для поддержки имён целевых задач или генераторных выражений не выполняются.
© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.21/command/add_test.html