123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- FIXTURES_SETUP
- --------------
- Specifies a list of fixtures for which the test is to be treated as a setup
- test. These fixture names are distinct from test case names and are not
- required to have any similarity to the names of tests associated with them.
- Fixture setup tests are ordinary tests with all of the usual test
- functionality. Setting the ``FIXTURES_SETUP`` property for a test has two
- primary effects:
- - CTest will ensure the test executes before any other test which lists the
- fixture name(s) in its :prop_test:`FIXTURES_REQUIRED` property.
- - If CTest is asked to run only a subset of tests (e.g. using regular
- expressions or the ``--rerun-failed`` option) and the setup test is not in
- the set of tests to run, it will automatically be added if any tests in the
- set require any fixture listed in ``FIXTURES_SETUP``.
- A setup test can have multiple fixtures listed in its ``FIXTURES_SETUP``
- property. It will execute only once for the whole CTest run, not once for each
- fixture. A fixture can also have more than one setup test defined. If there are
- multiple setup tests for a fixture, projects can control their order with the
- usual :prop_test:`DEPENDS` test property if necessary.
- A setup test is allowed to require other fixtures, but not any fixture listed
- in its ``FIXTURES_SETUP`` property. For example:
- .. code-block:: cmake
- # Ok: dependent fixture is different to setup
- set_tests_properties(setupFoo PROPERTIES
- FIXTURES_SETUP Foo
- FIXTURES_REQUIRED Bar
- )
- # Error: cannot require same fixture as setup
- set_tests_properties(setupFoo PROPERTIES
- FIXTURES_SETUP Foo
- FIXTURES_REQUIRED Foo
- )
- If any of a fixture's setup tests fail, none of the tests listing that fixture
- in its :prop_test:`FIXTURES_REQUIRED` property will be run. Cleanup tests will,
- however, still be executed.
- See :prop_test:`FIXTURES_REQUIRED` for a more complete discussion of how to use
- test fixtures.
|