Spec-Zone.ru › CMake 3.20

FIXTURES_CLEANUP

Новое в версии 3.7.

Указывает список фикстур, для которых тест должен обрабатываться как тест очистки. Эти имена фикстур отличаются от имён тестовых случаев и не обязательно должны быть похожи на имена тестов, связанных с ними.

Тесты очистки фикстур — это обычные тесты со всеми обычными функциональными возможностями тестов. Установка свойства FIXTURES_CLEANUP для теста имеет два основных эффекта:

  • CTest гарантирует, что тест будет выполняться после всех других тестов, которые перечисляют любую из фикстур в своём свойстве FIXTURES_REQUIRED.
  • Если CTest попросят запустить только подмножество тестов (например, с использованием регулярных выражений или опции --rerun-failed), и тест очистки не входит в набор запускаемых тестов, он будет автоматически добавлен, если какие-либо тесты в наборе требуют любую фикстуру, перечисленную в FIXTURES_CLEANUP.

Тест очистки может иметь несколько фикстур, перечисленных в своём свойстве FIXTURES_CLEANUP. Он будет выполняться только один раз для всего выполнения CTest, а не один раз для каждой фикстуры. Фикстура также может иметь более одного определённого теста очистки. Если для фикстуры определено несколько тестов очистки, проекты могут контролировать их порядок с помощью обычного свойства теста DEPENDS, если это необходимо.

Тест очистки может потребовать других фикстур, но не любую фикстуру, перечисленную в своём свойстве FIXTURES_CLEANUP. Например:

# Ok: Dependent fixture is different to cleanup
set_tests_properties(cleanupFoo PROPERTIES
  FIXTURES_CLEANUP  Foo
  FIXTURES_REQUIRED Bar
)

# Error: cannot require same fixture as cleanup
set_tests_properties(cleanupFoo PROPERTIES
  FIXTURES_CLEANUP  Foo
  FIXTURES_REQUIRED Foo
)

Тесты очистки будут выполняться даже если тесты настройки или обычные тесты для этой фикстуры завершаются неудачей или пропускаются.

См. FIXTURES_REQUIRED для более подробного обсуждения того, как использовать тестовые фикстуры.

© 2000–2021 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.20/prop_test/FIXTURES_CLEANUP.html

Spec-Zone.ru

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