diff options
author | David Cole <david.cole@kitware.com> | 2012-02-21 20:55:50 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2012-02-21 20:55:50 (GMT) |
commit | ae616023855d4e3772faa424fbf9970143a66b63 (patch) | |
tree | ed00655ffb52dbacf64f417759f3ec6ecf61c97a | |
parent | 40d2da09c5d2b8659119da31b2f3d43acef3df6b (diff) | |
parent | 378f2291593c5b1d7d9fcd03029b931ce674a3d2 (diff) | |
download | CMake-ae616023855d4e3772faa424fbf9970143a66b63.zip CMake-ae616023855d4e3772faa424fbf9970143a66b63.tar.gz CMake-ae616023855d4e3772faa424fbf9970143a66b63.tar.bz2 |
Merge topic 'document-test-layout'
378f229 Tests: document where to put tests
-rw-r--r-- | Tests/README | 34 |
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. |