CMake/Tests
Brad King a25b809f20 Tests: Check find_dependency empty extra arguments
Add cases for empty arg 2 and arg 3.
2014-03-13 15:57:03 -04:00
..
AliasTarget get_property: Fix testing ALIASED_TARGET target property (#14670) 2014-01-04 11:28:57 +01:00
Architecture Xcode: Fix test architecture selection for Xcode >= 5 2013-10-02 12:48:20 -04:00
ArgumentExpansion Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
Assembler Tests/Assembler: Drop -g when generating sample assembly source 2013-11-01 10:55:58 -04:00
BuildDepends ExternalProject: Add option to always run the build step 2014-02-21 11:05:41 -05:00
BundleGeneratorTest
BundleTest Tests/BundleTest: Drop use of ChangeLog.txt 2014-02-07 13:35:31 -05:00
BundleUtilities Tests: Don't read the LOCATION property from build targets. 2013-11-19 18:07:27 +01:00
CFBundleTest CFBundle test: Add isysroot argument when calling Rez. 2013-11-06 06:42:44 -07:00
CMakeCommands cmTarget: Don't update IMPORTED target compilation properties 2014-01-04 11:28:57 +01:00
CMakeLib strings: Remove cmStdString references 2014-03-08 13:05:35 -05:00
CMakeOnly Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CMakeTestAllGenerators
CMakeTestBadCommandLines
CMakeTestMultipleConfigures Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CMakeTests file DOWNLOAD: Test non-zero return status. 2014-01-15 19:43:25 -05:00
COnly Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CPackComponents Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CPackComponentsForAll cpack: For DragNDrop generator, add sysroot option when calling Rez. 2013-10-31 20:25:12 -06:00
CPackTestAllGenerators Tests: Use the right path to CPack value for running CPack tests 2012-11-29 15:49:36 -05:00
CPackWiXGenerator CPackWiX: Fix test to build with expected config 2014-03-08 13:05:40 -05:00
CTestBuildCommandProjectInSubdir Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestConfig Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestLimitDashJ Add CTestLimitDashJ test (#12904) 2013-01-03 13:37:50 -05:00
CTestScriptMode Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestTest Fix wording of "the the" typos throughout text 2014-01-03 11:35:32 -05:00
CTestTest2 CTestTest*: Update minimum required CMake to 2.4 2013-10-23 08:54:31 -04:00
CTestTestBadExe Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestChecksum Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestConfigFileInBuildDir Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestCostSerial Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestCrash Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestCycle Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestDepends Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestEmptyBinaryDirectory Tests: added test for ctest_empty_binary_directory() 2013-11-01 21:32:16 +01:00
CTestTestFailedSubmits Tests: Add generator toolset support 2013-02-07 11:09:56 -05:00
CTestTestFailure Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestFdSetSize Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestLaunchers Tests: Add test for CTEST_USE_LAUNCHERS capture of custom commands 2013-10-31 09:29:55 -04:00
CTestTestMemcheck Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestMissingDependsExe CTest: fix regressions introduced by the ctest-fix-run-serial topic 2013-12-23 15:31:15 +01:00
CTestTestParallel Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestResourceLock Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestRunScript
CTestTestScheduler Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestSerialInDepends CTest: fix dashboard issues associated with the ctest-fix-run-serial topic 2013-10-25 21:39:58 +02:00
CTestTestSerialOrder CTest: fix regressions introduced by the ctest-fix-run-serial topic 2013-12-23 15:31:15 +01:00
CTestTestSkipReturnCode Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestStopTime Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestSubdir Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestTimeout Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestUpload Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CTestTestZeroTimeout Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CheckCompilerRelatedVariables VS12: Add Visual Studio 12 generator (#14251) 2013-06-28 18:13:14 -04:00
CommandLineTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CompatibleInterface Genex: Add EQUAL expression. 2014-01-06 17:25:09 +01:00
CompileCommandOutput
CompileDefinitions cmTarget: Deprecate COMPILE_DEFINITIONS_ properties with a policy. 2014-01-08 16:41:34 +01:00
CompileOptions Add generator expressions for compiler versions. 2013-06-28 14:32:58 +02:00
Complex Drop use of configure_file IMMEDIATE option 2013-11-13 10:12:17 -05:00
ComplexOneConfig Drop use of configure_file IMMEDIATE option 2013-11-13 10:12:17 -05:00
Contracts Tests/Contracts: Submit notes with VTK build 2013-12-19 10:01:14 -05:00
CrossCompile
CustComDepend
CustomCommand Tests: Don't read the LOCATION property from build targets. 2013-11-19 18:07:27 +01:00
CustomCommandWorkingDirectory
CxxOnly
Dependency
DoubleProject
EmptyDepends Watcom: Avoid prompt from wmake about dll with no exports... 2012-11-28 12:11:52 -05:00
EmptyLibrary
EmptyProperty set_property: Do not remove a property when APPENDing nothing 2013-07-24 10:50:15 -04:00
Environment
ExportImport Tests: Rename CMAKE_TEST_MAKEPROGRAM uses for nested test projects 2014-03-03 15:26:48 -05:00
ExternalOBJ Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
ExternalProject ExternalProject: Add option GIT_SUBMODULES 2014-01-28 12:51:27 -05:00
ExternalProjectUpdate Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
FindGTK2 FindGTK2: Add tests for components and targets in gtk and gtkmm modules 2013-10-08 10:47:06 -04:00
FindModulesExecuteAll Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
FindPackageModeMakefileTest Tests: Fix find-package mode test. 2014-01-11 13:58:23 +01:00
FindPackageTest CMP0017: Fix check when including from CMake source tree 2014-03-04 09:35:00 -05:00
ForceInclude
Fortran Tests: Rename CMAKE_TEST_MAKEPROGRAM uses for nested test projects 2014-03-03 15:26:48 -05:00
FortranC Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
FortranOnly
Framework
FunctionTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
GeneratorExpression Genex: Use case-sensitive comparison for COMPILER_ID. 2014-01-08 16:41:34 +01:00
IPO
IncludeDirectories cmTarget: Fix system include annotation propagation. 2014-01-06 17:25:10 +01:00
InterfaceLibrary InterfaceLibrary: Add test requiring MAP_IMPORTED_CONFIG whitelisting 2014-01-09 20:11:42 +01:00
InterfaceLinkLibraries Introduce the INTERFACE_LINK_LIBRARIES property. 2013-07-08 22:39:09 +02:00
JCTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
Java
Jump Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
LibName Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
LinkDirectory Test: Remove obsolete commented code. 2014-01-07 09:38:00 -05:00
LinkFlags Add additonal tests for the linker flags 2013-07-31 08:41:08 -04:00
LinkLanguage
LinkLine
LinkLineOrder
LinkStatic
LoadCommand Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
LoadCommandOneConfig Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
MFC
MacRuntimePath Tests: Rename CMAKE_TEST_MAKEPROGRAM uses for nested test projects 2014-03-03 15:26:48 -05:00
MacroTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
MakeClean Tests: Don't read the LOCATION property from build targets. 2013-11-19 18:07:27 +01:00
MathTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
MissingInstall InstallRules: added new variable to disable generation of install rules 2014-01-08 16:28:14 +01:00
MissingSourceFile
Module find_dependency: Extend the tests for use of EXACT macro parameter. 2014-03-10 09:07:38 +01:00
ModuleDefinition
MumpsCoverage
NewlineArgs
ObjC++
ObjectLibrary Make ExportLanguages a subtest of the ObjectLibrary test 2013-10-24 19:05:34 +02:00
OutDir
OutOfBinary
OutOfSource Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
PDBDirectoryAndName MSVC: Add properties to configure compiler PDB files (#14762) 2014-02-26 09:34:38 -05:00
PerConfig
Plugin Refactor the Plugin test. 2013-10-24 19:03:49 +02:00
Policy0002
PolicyScope Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
PositionIndependentTargets Add the INTERFACE_LIBRARY target type. 2013-10-07 19:56:31 -04:00
PreOrder
PrecompiledHeader Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
Preprocess Test COMPILE_DEFINITIONS target property get/set/get round-trip 2013-07-24 13:25:47 -04:00
Properties Remove CMake multiline block-end command arguments 2012-08-15 16:50:29 -04:00
PythonCoverage Adding support for the Python coverage.py tool. 2013-10-08 09:20:30 -04:00
Qt4And5Automoc FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found. 2014-01-29 17:02:43 +01:00
Qt4Deploy
Qt4Targets Qt4Macros: Allow specifying a TARGET in invokations of macros. 2013-06-03 10:07:02 +02:00
QtAutoUicInterface QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property. 2013-11-27 19:06:12 +01:00
QtAutogen QtAutogen: Fix AUTOGEN depends on custom command output with VS. 2014-03-10 13:01:29 +01:00
QtAutomocNoQt Automoc: Don't create automoc targets if Qt is not used (#13999) 2013-03-12 17:42:02 -04:00
ReturnTest Fix spelling and typos (affecting binary data / module messages) 2013-05-07 08:39:19 -04:00
RunCMake Tests: Check find_dependency empty extra arguments 2014-03-13 15:57:03 -04:00
RuntimePath Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SBCS
SameName
SetLang
Simple Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SimpleCOnly Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SimpleExclude Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SimpleInstall Tests: Teach SimpleInstall to use "cmake --build" 2013-11-18 08:26:22 -05:00
SimpleInstallS2 Tests: Teach SimpleInstall to use "cmake --build" 2013-11-18 08:26:22 -05:00
SourceGroups
StagingPrefix Introduce CMAKE_STAGING_PREFIX variable. 2013-11-21 11:48:03 +01:00
StringFileTest string: Add MAKE_C_IDENTIFIER subcommand 2013-05-21 15:29:34 -04:00
SubDir Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SubDirSpaces Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SubProject
SwigTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
SystemInformation Tests: Remove some trailing black lines. 2014-02-17 18:54:53 +01:00
TarTest Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
TargetName Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
TestDriver
Testing Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
TestsWorkingDirectory
TryCompile Merge topic 'try_compile-COPY_FILE_ERROR' 2013-07-15 09:33:32 -04:00
Tutorial Tests: Don't read the LOCATION property from build targets. 2013-11-19 18:07:27 +01:00
Unset unset: Add PARENT_SCOPE option 2013-10-08 08:37:50 -04:00
VSExcludeFromDefaultBuild Add tests for EXCLUDE_FROM_DEFAULT_BUILD 2012-11-13 09:08:42 -05:00
VSExternalInclude VS12: Add Visual Studio 12 generator (#14251) 2013-06-28 18:13:14 -04:00
VSGNUFortran
VSMidl
VSProjectInSubdir VS: Add test for building MSBuild project in subdir 2013-04-12 11:35:36 -04:00
VSResource
VSWindowsFormsResx VS: Add Resx configuration to the vcxproj file 2013-06-28 09:23:41 -04:00
VariableUnusedViaSet
VariableUnusedViaUnset
VariableUsage
VisibilityInlinesHidden VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sources 2014-02-01 09:55:24 +01:00
WarnUnusedCliUnused CLI: Suppress the unused warning if the key value pair is cached. 2013-06-04 12:38:56 +02:00
Wrapping Tests: Don't read the LOCATION property from build targets. 2013-11-19 18:07:27 +01:00
X11 Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
iOSNavApp
.NoDartCoverage
BootstrapTest.cmake Tests: Launch BootstrapTest through cmake instead of ctest 2013-11-18 08:26:22 -05:00
CMakeBuildTest.cmake.in Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variables 2014-03-03 15:26:49 -05:00
CMakeCopyright.cmake Copyright.txt: Add test to check year range 2013-11-12 16:35:26 -05:00
CMakeInstall.cmake Tests: Launch CMake.Install test through 'cmake --build' 2013-11-18 08:26:22 -05:00
CMakeLists.txt Merge topic 'dev/string-apis' 2014-03-09 10:29:02 -04:00
CTestUpdateBZR.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestUpdateCVS.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestUpdateCommon.cmake ctest_update: Handle P4 unknown revisions more robustly 2014-01-22 08:33:33 -05:00
CTestUpdateGIT.cmake.in CTest: Fix ctest_update with 'HEAD' file in source tree 2013-02-28 11:52:30 -05:00
CTestUpdateGIT.sh.in
CTestUpdateHG.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CTestUpdateP4.cmake.in ctest_update: Do not remove the p4 depot name 2013-11-01 08:52:26 -04:00
CTestUpdateSVN.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
CheckFortran.cmake
EnforceConfig.cmake.in Remove CMake-language block-end command arguments 2012-08-13 14:19:16 -04:00
README
RegexEscapeString.cmake Fix test failures caused by regexp-sensitive characters in the build paths 2013-06-03 16:51:21 +02:00
bootstrap.bat.in
test_clean.cmake.in

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.