CMake/Tests
Brad King e3ace61212 Merge topic 'compute-default-dialect'
7235334a Project: Determine default language dialect for the compiler.
2015-09-18 10:00:51 -04:00
..
AliasTarget
Architecture
ArgumentExpansion
Assembler
BuildDepends Ninja: Honor the LINK_DEPENDS target property (#14796) 2015-08-05 14:12:05 -04:00
BundleGeneratorTest
BundleTest
BundleUtilities
CFBundleTest
CheckCompilerRelatedVariables
CMakeCommands
CMakeLib Remove use of include <cmsys/ios/*> and cmsys_ios::* 2015-08-20 16:19:08 -04:00
CMakeOnly Tests: Fix CMAKE_MAKE_PROGRAM selection in CMakeOnly tests 2015-08-11 10:18:04 -04:00
CMakeTestAllGenerators
CMakeTestMultipleConfigures
CMakeTests CMakeParseImplicitLinkInfo: Do not match "VAR=..." as link line (#15737) 2015-09-11 13:50:34 -04:00
CoberturaCoverage
CommandLineTest
CompatibleInterface
CompileCommandOutput
CompileDefinitions
CompileFeatures Features: Update MSVC features for VS 2015 RTM 2015-07-21 12:56:47 -04:00
CompileOptions
Complex cmState: Restore renamed commands on cleanup. 2015-07-12 10:09:54 +02:00
ComplexOneConfig
ConfigSources
COnly
Contracts
CPackComponents
CPackComponentsDEB CPackDeb: use of libarchive and removal of fakeroot 2015-09-17 15:30:39 -04:00
CPackComponentsForAll
CPackComponentsPrefix CPack: Enable DEB and RPM tests more reliably 2015-05-12 08:56:34 -04:00
CPackTestAllGenerators
CPackWiXGenerator
CrossCompile
CTestBuildCommandProjectInSubdir
CTestConfig
CTestCoverageCollectGCOV
CTestLimitDashJ
CTestScriptMode
CTestTest
CTestTest2 Tests: In CTestTest2 skip the kwsys.testProcess-10 test that leaks 2015-07-31 09:27:08 -04:00
CTestTestBadExe
CTestTestBadGenerator
CTestTestChecksum
CTestTestCostSerial
CTestTestCrash
CTestTestCycle
CTestTestDepends
CTestTestEmptyBinaryDirectory
CTestTestFailure
CTestTestFdSetSize
CTestTestLabelRegExp
CTestTestLaunchers
CTestTestMissingDependsExe
CTestTestParallel
CTestTestResourceLock
CTestTestRunScript
CTestTestScheduler
CTestTestSerialInDepends
CTestTestSerialOrder
CTestTestSkipReturnCode
CTestTestStopTime
CTestTestSubdir
CTestTestTimeout
CTestTestUpload
CTestTestVerboseOutput
CTestTestZeroTimeout
CustComDepend
CustomCommand
CustomCommandByproducts
CustomCommandWorkingDirectory
CxxDialect
CxxOnly
CxxSubdirC
DelphiCoverage
Dependency
DoubleProject
EmptyDepends
EmptyLibrary
EmptyProperty
Environment
ExportImport Tests: Use a less strict regular expression to look for "SONAME" 2015-09-01 10:30:09 -04:00
ExternalOBJ
ExternalProject ExternalProject: Add unit tests for GIT_SUBMODULES argument 2015-06-08 10:27:06 -04:00
ExternalProjectLocal
ExternalProjectSubdir
ExternalProjectUpdate
FindGSL
FindGTK2 GTK2: Add --build-project to all GTK2 tests 2015-09-06 20:41:41 +02:00
FindJsonCpp
FindMatlab
FindModulesExecuteAll
FindOpenSSL FindOpenSSL: Provide imported targets OpenSSL::{SSL,Crypto} 2015-08-13 10:58:40 -04:00
FindPackageModeMakefileTest
FindPackageTest Tests: Fix failures when running under the default install prefix (#15566) 2015-05-14 10:07:37 -04:00
ForceInclude
Fortran Fortran: Fix passing of preprocessor definitions to dependency scanner 2015-07-06 10:35:02 -04:00
FortranC Tests: Fix CMAKE_MAKE_PROGRAM selection in FortranC.Flags test 2015-08-11 10:18:05 -04:00
FortranOnly
Framework
FunctionTest
GeneratorExpression
GhsMulti
IncludeDirectories target_include_directories: Support relative SYSTEM include dirs (#15464) 2015-08-11 08:53:00 -04:00
InterfaceLibrary
InterfaceLinkLibraries
iOSNavApp Replace CMAKE_XCODE_EFFECTIVE_PLATFORMS with call to PlatformIsAppleIos 2015-08-25 21:53:51 +02:00
IPO
JacocoCoverage
Java UseJava: Teach add_jar to support file syntax for sources 2015-08-04 11:19:43 -04:00
JavaJavah UseJava: Add support for javah tool 2015-08-21 09:30:08 -04:00
JavascriptCoverage
JCTest
Jump
LibName
LinkDirectory
LinkFlags
LinkLanguage
LinkLine
LinkLineOrder
LinkStatic
LoadCommand
LoadCommandOneConfig
MacroTest
MacRuntimePath
MakeClean
MathTest
MFC
MissingInstall
MissingSourceFile
Module GenerateExportHeader: Use dllexport/dllimport on Cygwin 2015-08-27 10:08:34 -04:00
ModuleDefinition
MSManifest Add support for *.manifest source files with MSVC tools 2015-09-17 10:21:32 -04:00
MumpsCoverage
NewlineArgs
ObjC++
ObjectLibrary
OutDir
OutOfBinary
OutOfSource
PDBDirectoryAndName
PerConfig
Plugin Tests: Fix Plugin test on Watcom compiler 2015-09-03 09:34:47 -04:00
Policy0002
PolicyScope
PositionIndependentTargets
PrecompiledHeader
PreOrder
Preprocess
Properties
PythonCoverage
Qt4And5Automoc
Qt4Deploy
Qt4Targets
QtAutogen Merge topic 'qt-autogen-always-run' 2015-06-23 09:08:15 -04:00
QtAutomocNoQt
QtAutoUicInterface
ReturnTest
RunCMake Merge topic 'compute-default-dialect' 2015-09-18 10:00:51 -04:00
RuntimePath
SameName
SBCS
SetLang
Simple
SimpleCOnly
SimpleExclude
SimpleInstall
SimpleInstallS2
SourceFileProperty
SourceGroups
SourcesProperty
StagingPrefix
StringFileTest
SubDir
SubDirSpaces
SubProject
SwiftMix Swift: Make SwiftMix compatible with Swift 2 2015-09-03 20:30:32 +02:00
SwiftOnly Swift: Use dump instead of println 2015-09-01 20:32:38 +02:00
SwigTest
SystemInformation
TargetName
TestDriver
Testing
TestsWorkingDirectory
TryCompile
Tutorial
Unset
VariableUnusedViaSet
VariableUnusedViaUnset
VariableUsage
Visibility Honor visibility properties for all target types (#15556) 2015-05-26 09:03:16 -04:00
VSExcludeFromDefaultBuild VS: Add option to put INSTALL target in .sln default build 2015-05-06 10:31:39 -04:00
VSExternalInclude
VSGNUFortran
VSMASM
VSMidl
VSNsightTegra VS: Add more Nsight Tegra generator Android property settings 2015-07-14 14:24:05 -04:00
VSProjectInSubdir
VSResource VS: Add /machine: flag to Librarian tool (#11240) 2015-06-26 10:07:08 -04:00
VSWindowsFormsResx
VSWinStorePhone
VSXaml
WarnUnusedCliUnused
Wrapping
X11
XCTest
.NoDartCoverage
bootstrap.bat.in
BootstrapTest.cmake
CheckFortran.cmake
CMakeBuildTest.cmake.in
CMakeCopyright.cmake
CMakeInstall.cmake
CMakeLists.txt Add support for *.manifest source files with MSVC tools 2015-09-17 10:21:32 -04:00
CTestUpdateBZR.cmake.in
CTestUpdateCommon.cmake ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610) 2015-06-11 11:00:48 -04:00
CTestUpdateCVS.cmake.in ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610) 2015-06-11 11:00:48 -04:00
CTestUpdateGIT.cmake.in ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610) 2015-06-11 11:00:48 -04:00
CTestUpdateGIT.sh.in
CTestUpdateHG.cmake.in ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610) 2015-06-11 11:00:48 -04:00
CTestUpdateP4.cmake.in
CTestUpdateSVN.cmake.in ctest_update: Fix RETURN_VALUE on VCS tool failure (#15610) 2015-06-11 11:00:48 -04:00
EnforceConfig.cmake.in
README
test_clean.cmake.in

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.