| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- This directory contains tests that run CMake to configure a project
- but do not actually build anything. To add a test:
- 1. Add a subdirectory named for the test, say ``<Test>/``.
- 2. In ``./CMakeLists.txt`` call ``add_RunCMake_test`` and pass the
- test directory name ``<Test>``.
- 3. Create script ``<Test>/RunCMakeTest.cmake`` in the directory containing::
- include(RunCMake)
- run_cmake(SubTest1)
- ...
- run_cmake(SubTestN)
- where ``SubTest1`` through ``SubTestN`` are sub-test names each
- corresponding to an independent CMake run and project configuration.
- One may also add calls of the form::
- run_cmake_command(SubTestI ${CMAKE_COMMAND} ...)
- to fully customize the test case command-line.
- 4. Create file ``<Test>/CMakeLists.txt`` in the directory containing::
- cmake_minimum_required(...)
- project(${RunCMake_TEST} NONE) # or languages needed
- include(${RunCMake_TEST}.cmake)
- where ``${RunCMake_TEST}`` is literal. A value for ``RunCMake_TEST``
- will be passed to CMake by the ``run_cmake`` macro when running each
- sub-test.
- 5. Create a ``<Test>/<SubTest>.cmake`` file for each sub-test named
- above containing the actual test code. Optionally create files
- containing expected test results:
- ``<SubTest>-result.txt``
- Process result expected if not "0"
- ``<SubTest>-stdout.txt``
- Regex matching expected stdout content
- ``<SubTest>-stderr.txt``
- Regex matching expected stderr content
- ``<SubTest>-check.cmake``
- Custom result check.
- Note that trailing newlines will be stripped from actual and expected
- test output before matching against the stdout and stderr expressions.
- The code in ``<SubTest>-check.cmake`` may use variables
- ``RunCMake_TEST_SOURCE_DIR``
- Top of test source tree
- ``RunCMake_TEST_BINARY_DIR``
- Top of test binary tree
- and an failure must store a message in ``RunCMake_TEST_FAILED``.
|