summaryrefslogtreecommitdiffstats
path: root/Tests/README
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2012-02-17 20:02:08 (GMT)
committerRolf Eike Beer <eike@sf-mail.de>2012-02-17 20:02:08 (GMT)
commit378f2291593c5b1d7d9fcd03029b931ce674a3d2 (patch)
tree70bf771fa0bfd784843f61c554a0c8a2b61c151f /Tests/README
parentd03606a19cc05872baf23269ae8ec61d2e0719e8 (diff)
downloadCMake-378f2291593c5b1d7d9fcd03029b931ce674a3d2.zip
CMake-378f2291593c5b1d7d9fcd03029b931ce674a3d2.tar.gz
CMake-378f2291593c5b1d7d9fcd03029b931ce674a3d2.tar.bz2
Tests: document where to put tests
Diffstat (limited to 'Tests/README')
-rw-r--r--Tests/README34
1 files changed, 34 insertions, 0 deletions
diff --git a/Tests/README b/Tests/README
new file mode 100644
index 0000000..9b0f5c1
--- /dev/null
+++ b/Tests/README
@@ -0,0 +1,34 @@
+If you think about adding a new testcase then here is a small checklist you
+can run through to find a proper place for it. Go through the list from the
+beginning and stop once you find something that matches your tests needs,
+i.e. if you will test a module and only need the configure mode use the
+instructions from section 2, not 3.
+
+1. Your testcase can run in CMake script mode, i.e. "cmake -P something"
+
+Put your test in Tests/CMakeTests/ directory as a .cmake.in file. It will be
+put into the test binary directory by configure_file(... @ONLY) and run from
+there. Use the AddCMakeTest() macro in Tests/CMakeTests/CMakeLists.txt to add
+your test to the test runs.
+
+2. Your test needs CMake to run in configure mode, but will not build anything
+
+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.
+
+3. If you are testing something from the Modules directory
+
+Put your test in the Tests/Modules/ directory. Create a subdirectory there
+named after your test. Use the ADD_TEST_MACRO macro from Tests/CMakeLists.txt
+to add your test to the test run. If you have put your stuff in
+Tests/Modules/Foo then you call it using ADD_TEST_MACRO(Module.Foo Foo).
+
+4. You are doing other stuff.
+
+Find a good place ;) In doubt mail to cmake-developers@cmake.org and ask for
+advise.