summaryrefslogtreecommitdiffstats
path: root/Tests/README
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-03-09 21:24:43 (GMT)
committerBrad King <brad.king@kitware.com>2012-03-12 13:33:21 (GMT)
commit42a81e7119fab94afcb0c87f93c314af1689e1f7 (patch)
tree311228723f3384ac84b5297bf095cc10e24d93ba /Tests/README
parentc7bdef5b48fe74f92d75f538e702257e7de1a998 (diff)
downloadCMake-42a81e7119fab94afcb0c87f93c314af1689e1f7.zip
CMake-42a81e7119fab94afcb0c87f93c314af1689e1f7.tar.gz
CMake-42a81e7119fab94afcb0c87f93c314af1689e1f7.tar.bz2
Add stronger infrastructure for CMake-only tests
The CMakeOnly directory added by commit 9a20abf0 (Add infrastructure for CMake-only tests, 2012-01-11) was sufficient only for tests that always run CMake to successfully configure a project. Later commit eeaaffcb (find_package: Test error and warning messages in failure cases, 2012-02-28) added a sample test that covers failure cases. Generalize the above to create new "RunCMake" test infrastructure that can run CMake multiple times for a single project with different variations and check for expected result/stdout/stderr. Allow for both successful and failing CMake project configuration cases. This will be useful to test error messages and failure behavior.
Diffstat (limited to 'Tests/README')
-rw-r--r--Tests/README13
1 files changed, 9 insertions, 4 deletions
diff --git a/Tests/README b/Tests/README
index 9b0f5c1..8b2fda8 100644
--- a/Tests/README
+++ b/Tests/README
@@ -16,10 +16,15 @@ your test to the test runs.
This includes tests that will build something using try_compile() and friends,
but nothing that expects add_executable(), add_library(), or add_test() to run.
-If this matches your test you should put it into the Tests/CMakeOnly/ directory.
-Create a subdirectory named like your test and write the CMakeLists.txt you
-need into that subdirectory. Use the add_CMakeOnly_test() macro from
-Tests/CMakeOnly/CMakeLists.txt to add your test to the test runs.
+If the test configures the project only once and it must succeed then put it
+into the Tests/CMakeOnly/ directory. Create a subdirectory named like your
+test and write the CMakeLists.txt you need into that subdirectory. Use the
+add_CMakeOnly_test() macro from Tests/CMakeOnly/CMakeLists.txt to add your
+test to the test runs.
+
+If the test configures the project with multiple variations and verifies
+success or failure each time then put it into the Tests/RunCMake/ directory.
+Read the instructions in Tests/RunCMake/CMakeLists.txt to add a test.
3. If you are testing something from the Modules directory