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