Merge topic 'document-test-layout'

378f229 Tests: document where to put tests
This commit is contained in:
David Cole 2012-02-21 15:55:50 -05:00 committed by CMake Topic Stage
commit ae61602385
1 changed files with 34 additions and 0 deletions

34
Tests/README Normal file
View File

@ -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.