diff options
author | Brad King <brad.king@kitware.com> | 2014-01-20 18:44:27 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-01-20 18:46:24 (GMT) |
commit | 392a6553f9fe9908d5d7c363ad013003d965e5e0 (patch) | |
tree | b09e71745f90de050efc84c0f850bb56fb526e7a /Tests/RunCMake/README.rst | |
parent | 325f851403911f1f3d17d1728092fa3da18e5254 (diff) | |
download | CMake-392a6553f9fe9908d5d7c363ad013003d965e5e0.zip CMake-392a6553f9fe9908d5d7c363ad013003d965e5e0.tar.gz CMake-392a6553f9fe9908d5d7c363ad013003d965e5e0.tar.bz2 |
Tests/RunCMake: Move documentation to a README.rst
Diffstat (limited to 'Tests/RunCMake/README.rst')
-rw-r--r-- | Tests/RunCMake/README.rst | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Tests/RunCMake/README.rst b/Tests/RunCMake/README.rst new file mode 100644 index 0000000..d4159a5 --- /dev/null +++ b/Tests/RunCMake/README.rst @@ -0,0 +1,51 @@ +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. + +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``. |