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()), он будет автоматически заменён на расположение исполняемого файла, созданного во время сборки.Команду можно указать, используя
generator expressions. -
CONFIGURATIONS -
Ограничить выполнение теста только для указанных конфигураций.
-
WORKING_DIRECTORY -
Установите свойство теста
WORKING_DIRECTORY, чтобы указать рабочую директорию для выполнения теста. Если не указано, тест будет выполняться в текущей рабочей директории, установленной на директорию сборки, соответствующую текущей директории исходных файлов.Рабочую директорию можно указать, используя
generator expressions. -
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.
Тесты, добавленные с add_test(NAME) подписью, поддерживают использование generator expressions в свойствах тестов, установленных с помощью set_property(TEST) или set_tests_properties().
Пример использования:
add_test(NAME mytest
COMMAND testDriver --config $<CONFIG>
--exe $<TARGET_FILE:myexe>)
Это создаёт тест mytest, чья команда выполняет testDriver инструмент, передавая имя конфигурации и полный путь к исполняемому файлу, созданному целевым объектом myexe.
Примечание
CMake сгенерирует тесты только если команда enable_testing() была вызвана. Модуль CTest вызывает команду автоматически, если опция BUILD_TESTING не отключена.
Эта команда также поддерживает более простую, но менее гибкую, подпись:
add_test(<name> <command> [<arg>...])
Добавить тест с именем <name> с заданной командной строкой.
В отличие от вышеприведённой NAME подписи, имена целевых объектов не поддерживаются в командной строке. Кроме того, тесты, добавленные с этой подписью, не поддерживают generator expressions в командной строке или свойствах теста.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/command/add_test.html