CMake/Tests
Kitware Robot 77543bde41 Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:

cmake --help-command-list |
grep -v "cmake version" |
while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
..
Architecture Use correct default multiple architecture values in test 2011-07-19 11:53:31 -04:00
ArgumentExpansion Fix ArgumentExpansion test expected results 2011-01-11 17:10:28 -05:00
Assembler Tests/Assembler: Assemble and link with same flags (#13314) 2012-06-18 16:21:54 -04:00
BuildDepends Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
BundleGeneratorTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
BundleTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
BundleUtilities Fix BundleUtilities test failure with space in build path. 2012-01-20 22:02:01 -07:00
CFBundleTest Fix XCode -> Xcode typos, notably in man page (#12231) 2011-05-31 09:13:00 -04:00
CMakeCommands/target_link_libraries Use generalized RunCMake test infrastrucure for build_command test 2012-03-12 09:33:21 -04:00
CMakeLib Avoid string.clear and string.push_back (#13319) 2012-06-19 14:21:34 -04:00
CMakeOnly Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CMakeTestAllGenerators Ensure libgmp-10.dll is in the PATH for CMakeTestAllGenerators 2011-07-29 11:13:33 -04:00
CMakeTestBadCommandLines Add test CMakeTestBadCommandLines. Also add --graphviz arg to cmake invoked during the CPackComponents test. The purpose of each is to increase coverage of cmake.cxx. 2009-10-27 12:18:41 -04:00
CMakeTestMultipleConfigures Add test to enable detecting differences between generation N and N+1 of a cmake generated build tree. Theoretically, each generation run with exactly the same arguments should be identical to the previous generation... Practically, there are differences. This is a tool to help us measure those differences. For now, the test always succeeds. Eventually, we may add the code to make it fail when there are differences. 2009-10-26 16:09:27 -04:00
CMakeTests Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
COnly Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
CPackComponents Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
CPackComponentsForAll CPackRPM support component specific variables for spec files 2011-10-30 20:13:20 +01:00
CPackTestAllGenerators Fix failing test. Forgot to double quote last arg to STRING. 2009-10-20 15:18:45 -04:00
CTestConfig CTest: Add test to verify -D variable definitions work 2012-06-25 08:25:51 -04:00
CTestScriptMode Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
CTestTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTest2 Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestBadExe Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestChecksum Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestConfigFileInBuildDir Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestCostSerial Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestCrash Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestCycle Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestDepends Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestFailedSubmits Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestFailure Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestParallel Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestResourceLock Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestRunScript Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestScheduler Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestStopTime Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestSubdir Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestTimeout Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestUpload Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CTestTestZeroTimeout Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CheckCompilerRelatedVariables Teach our tests about special cases for VS 11 2011-09-23 11:07:24 -04:00
CommandLineTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CompileCommandOutput Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Complex Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
ComplexOneConfig Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Contracts Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CrossCompile Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CustComDepend Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
CustomCommand Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CustomCommandWorkingDirectory Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CxxOnly Fix CXX/Fortran MODULE flags when enabled before C (#12929) 2012-02-03 15:45:13 -05:00
Dependency Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
DocTest Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
DoubleProject Fix the case where cmake --build failed with two project cmds in one file. 2011-12-20 14:16:25 -05:00
EmptyLibrary Add test that CMake errors with empty libs 2010-09-30 11:01:35 -04:00
Environment ENH: Implement feature request from issue 7885. Allow setting environment variables on a per-test basis for ctest using set_test_properties ENVIRONMENT. 2008-11-26 14:38:43 -05:00
ExportImport Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
ExternalOBJ Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
ExternalProject Fix MSYS CVS local test repo path format (#13001) 2012-03-02 14:23:01 -05:00
FindModulesExecuteAll ENH: add a project name 2008-06-16 20:05:46 -04:00
FindPackageModeMakefileTest Fix FindPackageMode test Makefile (#13314) 2012-06-19 08:26:01 -04:00
FindPackageTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
ForceInclude Map multiple /FI flags for VS < 10 (#11649) 2011-01-03 10:02:16 -05:00
Fortran Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
FortranC Honor real language flags in FortranC.Flags test 2009-12-15 14:03:03 -05:00
FortranOnly Fortran: Add support for free- and fixed-form flags 2011-08-31 10:24:43 -04:00
Framework Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
FunctionTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
IPO Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
IncludeDirectories Tests/IncludeDirectories: Files must end in a newline (#13314) 2012-06-18 16:16:55 -04:00
JCTest Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
Java Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
Jump Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
KDE4StableBranchTest Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
LibName Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
LinkDirectory Test CMP0015 OLD and NEW link_directories behavior 2009-11-24 11:17:16 -05:00
LinkFlags Intel-specific workaround for LinkFlags tests 2010-06-03 09:47:23 -04:00
LinkLanguage Test target link information invalidation 2009-10-05 09:07:09 -04:00
LinkLine Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
LinkLineOrder Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
LinkStatic Test static linking with LINK_SEARCH_START_STATIC 2011-03-04 08:37:57 -05:00
LoadCommand Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
LoadCommandOneConfig Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
MFC Tests: Only really run MFC test if we can build MFC apps (#11213) 2011-12-16 16:30:10 -05:00
MacroTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
MakeClean Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
MathTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
MissingSourceFile Test that missing source mentions directory (#11677) 2011-01-15 08:16:50 -05:00
Module CheckCXXCompilerFlag test: make it a CMakeOnly test 2012-01-30 19:42:51 +01:00
ModuleDefinition Test generated module .def files 2012-04-02 10:54:25 -04:00
MumpsCoverage Update test data to match new coverage format. 2012-05-07 15:46:29 -04:00
NewlineArgs Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
ObjC++ Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
ObjectLibrary Xcode: Fix object library references in multi-project trees (#13452) 2012-08-03 10:17:49 -04:00
OutDir Fix OutDir test on HP, MinGW, and Cygwin 2009-10-29 09:26:17 -04:00
OutOfBinary Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
OutOfSource Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
PerConfig Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Plugin Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Policy0002 Test support for OLD behavior of policy CMP0002 2009-09-28 17:34:34 -04:00
PolicyScope Allow users to specify defaults for unset policies 2011-01-04 07:46:10 -05:00
PositionIndependentTargets Fix PositionIndependentTargets test with clang trunk. 2012-06-27 16:39:24 +02:00
PreOrder Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
PrecompiledHeader Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Preprocess Teach our tests about special cases for VS 11 2011-09-23 11:07:24 -04:00
Properties Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
Qt4Deploy Remove QtGui dependency in Qt4Deploy test and verify QtSql existance. 2012-02-29 07:55:31 -07:00
QtAutomoc automoc: add define to test which caused bug #13018 2012-03-26 22:11:46 +02:00
ReturnTest ENH: Remove CMAKE_ANSI_CFLAGS from tests 2009-07-08 11:41:48 -04:00
RunCMake include: Ignore empty string as file name (#13388) 2012-07-10 11:05:04 -04:00
RuntimePath ENH: Remove CMAKE_ANSI_CFLAGS from tests 2009-07-08 11:41:48 -04:00
SBCS Visual Studio: Allow setting Single Byte Character Set (#12189) 2012-02-17 11:30:23 -05:00
SameName Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
SetLang Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Simple Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
SimpleCOnly Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
SimpleExclude ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
SimpleInstall Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
SimpleInstallS2 Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
SourceGroups Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
StringFileTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
SubDir Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
SubDirSpaces Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
SubProject ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
SwigTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
SystemInformation Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
TarTest Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
TargetName Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
TestDriver Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Testing Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
TestsWorkingDirectory Fix XCode -> Xcode typos, notably in man page (#12231) 2011-05-31 09:13:00 -04:00
TryCompile Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Tutorial Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
Unset ENH: Create $CACHE{VAR} syntax 2008-09-25 10:21:15 -04:00
VSExternalInclude Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
VSGNUFortran Tests/VSGNUFortran: Avoid C++ comment in C code (#13314) 2012-06-18 16:18:27 -04:00
VSMidl VSMidl Test: Use correct include_directories with VS6 (#11461) 2011-01-06 09:12:20 -05:00
VSResource Add support for Visual Studio project-specific globals (#8707) 2011-07-29 10:04:36 -04:00
VariableUnusedViaSet Add test for unused detection via setting it 2010-09-16 13:52:54 -04:00
VariableUnusedViaUnset Fix typo in VariableUnusedViaUnset test 2010-09-17 10:04:18 -04:00
VariableUsage Add tests for unused command line variables 2010-09-02 11:33:57 -04:00
Wrapping Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
X11 Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
iOSNavApp Xcode: Add test to demonstrate iOS project in Xcode 2011-09-12 15:46:24 -04:00
.NoDartCoverage clean up coverage some 2002-12-03 11:21:12 -05:00
CMakeBuildTest.cmake.in Remove trailing whitespace from most CMake and C/C++ code 2012-08-13 14:18:39 -04:00
CMakeInstall.cmake Avoid running CMake.Install test simultaneously with other tests 2010-12-31 09:18:52 -05:00
CMakeLists.txt Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
CMakeWizardTest.cmake Increase coverage. Add test of class cmakewizard. (cmake -i 'mode') 2009-10-06 13:27:13 -04:00
CTestUpdateBZR.cmake.in Generalize CTest.Update* test dashboard script helpers 2010-06-08 15:58:39 -04:00
CTestUpdateCVS.cmake.in Fix MSYS CVS local test repo path format (#13001) 2012-03-02 14:23:01 -05:00
CTestUpdateCommon.cmake Fix machine-specific UpdateGIT test failures 2011-07-29 10:24:06 -04:00
CTestUpdateGIT.cmake.in Make CTest.UpdateGIT robust to Git safecrlf on Windows 2012-06-20 10:19:44 -04:00
CTestUpdateGIT.sh.in ctest_update: Support Git upstream branch rewrites 2010-06-08 16:50:17 -04:00
CTestUpdateHG.cmake.in CTest.UpdateHG: Fix repo URL for leading slash 2012-03-22 11:57:38 -04:00
CTestUpdateSVN.cmake.in CTestUpdateSVN: Do not create repo directory first (#13349) 2012-07-09 09:13:06 -04:00
CheckFortran.cmake Modules: Fix spelling 'To distributed' -> 'To distribute' 2010-08-09 08:48:31 -04:00
EnforceConfig.cmake.in Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
README Add stronger infrastructure for CMake-only tests 2012-03-12 09:33:21 -04:00
TestInstall.sh.in ENH: Added Install test. It is enabled when the CMAKE_INSTALL_PREFIX is CMake_BINARY_DIR/InstallTest. 2003-08-06 10:39:05 -04:00
bootstrap.bat.in Enable BootstrapTest on MSYS 2010-06-11 14:30:44 -04:00
test_clean.cmake.in Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00

README

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

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.