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(), он автоматически заменяется расположением исполняемого файла, созданного во время сборки.Команда может быть указана с помощью
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_FALL является истинным. Вывод, выведенный в stdout или stderr,捕获by 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/v3.27/command/add_test.html