CMake/Tests
David Cole a51e1529e7 Merge topic 'ninja-fix-macosx'
1fc8df9 Add missing this->.
7a3ecf5 Fix memory leak in Makefile generator.
9f7dc83 Ninja: also bootstrap ninja files
5d365b2 Ninja: enable ninja support everywhere
d569f3e Ninja: void function can't return a value
52160bf Ninja: enable ninja on Mac so all Mac CDash-builds are tested, cleanup later
56aeac6 Ninja: fixes for bcc
7a6bc9e Ninja: remove 'this' from member initializer list
44ba4cf Ninja: remove warnings
7751966 Ninja: remove 'friend' in ninja code
c3988ee Re-factor OS X content generator start up.
f8e0a51 Re-factor framework directory computation.
f36c7b0 Re-factor Mac OS X content directory computation.
5d885db Re-factor bundle content copying rules generation.
3b2a01e Ninja: Use same echo message as makefiles.
7bb56c5 Re-factor CFBundle generation.
...
2012-07-24 17:03:46 -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 Ninja: fix mis-matching endif() argument 2012-07-18 09:51:43 +02:00
BundleGeneratorTest BUG: Fix issue #7523: Analyze output of 'hdiutil attach' to get the name of the volume that was mounted. Eliminates the need to use the -mountpoint arg of hdiutil which has a silly 90 character limit on the name of the mount point. Also add a custom volume icon to the BundleGeneratorTest to cover this code. 2009-01-21 13:39:22 -05:00
BundleTest Removed most usage of Carbon in favour of CoreFoundation 2011-01-31 18:21:20 -05: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 Add FindLibLZMA Module 2012-05-31 09:10:38 -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 Merge topic 'test-getpropery' 2012-03-06 15:27:28 -05:00
COnly Fix CXX/Fortran MODULE flags when enabled before C (#12929) 2012-02-03 15:45:13 -05:00
CPackComponents CPack: Add CPACK_NSIS_INSTALL_ROOT variable (#9148) 2011-01-11 15:42:42 -05: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 STYLE: don't load CMakeDetermineSystem and CMakeSystemSpecific directly from 2009-07-12 04:51:51 -04:00
CTestTest Remove unused code from CTest test suite 2009-12-02 09:16:29 -05:00
CTestTest2 CTestTest2: Avoid running purify unless requested 2011-01-27 14:36:14 -05:00
CTestTestBadExe Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestChecksum Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestConfigFileInBuildDir CTest: Look for CTestConfig.cmake in build dir first, then source dir 2011-10-26 23:23:03 -04:00
CTestTestCostSerial Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestCrash Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestCycle Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestDepends Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestFailedSubmits Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestFailure Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestParallel Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestResourceLock Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestRunScript Increase ctest RunScript line coverage. (Note: NEW_PROCESS argument is currently causing the test to fail, still investigating the reason for this, will add coverage for it later) 2009-10-30 17:43:55 -04:00
CTestTestScheduler Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestStopTime Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestSubdir Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestTimeout Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CTestTestUpload Add the FILES keyword to ctest_upload command 2011-03-15 15:07:37 -04:00
CTestTestZeroTimeout Tests: Eliminate unnecessary files and variables. 2011-01-28 14:58:04 -05:00
CheckCompilerRelatedVariables Teach our tests about special cases for VS 11 2011-09-23 11:07:24 -04:00
CommandLineTest Remove unused DumpDocumentation code 2009-12-08 09:38:36 -05:00
CompileCommandOutput Fix CompileCommandOutput test build on Windows 2011-05-20 08:06:35 -04:00
Complex Find_library(): allow searching for versioned shared objects 2012-02-18 16:19:29 +01:00
ComplexOneConfig complex: Remove unused option to test CMakeLib 2011-12-23 16:16:57 -05:00
Contracts Tests: Update drop site value for the Trilinos contract test 2012-02-03 11:52:54 -05:00
CrossCompile Fix TRY_RUN cross compile test to pass consistently 2009-11-09 12:05:49 -05:00
CustComDepend ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
CustomCommand Tests/CustomCommand: Do not use 'main' in a library 2012-07-09 17:15:35 -04:00
CustomCommandWorkingDirectory Handle relative WORKING_DIRECTORY in add_custom_(command|target) 2011-01-26 18:02:02 -05:00
CxxOnly Fix CXX/Fortran MODULE flags when enabled before C (#12929) 2012-02-03 15:45:13 -05:00
Dependency Honor strong intra-component target dependencies 2010-08-25 17:14:13 -04:00
DocTest ENH: preclean some warnings 2008-03-25 11:27:18 -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 Check*.cmake: Expand imported targets in CMAKE_REQUIRED_LIBRARIES 2012-02-21 15:38:15 -05:00
ExternalOBJ VS10: Fix external objects generated outside target (#13047) 2012-03-20 09:01:02 -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 add test for #13241: empty SIZEOF_VOIDP in write_basic_package_version_file 2012-05-23 20:48:47 +02:00
ForceInclude Map multiple /FI flags for VS < 10 (#11649) 2011-01-03 10:02:16 -05:00
Fortran Fix and simplify Fortran test compiler compatibility check 2011-12-15 09:25:49 -05: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 BUG: Fix issue #7046 - make sure extensionless headers and resource files work with the Xcode generator. Also fix incorrect mappings in the lastKnownFileType code. Add some extensionless files to the Framework test. 2008-09-05 15:51:19 -04:00
FunctionTest VS2010: Honor PROJECT_LABEL target property (#10611) 2010-09-09 16:44:30 -04:00
IPO Test INTERPROCEDURAL_OPTIMIZATION build feature 2009-10-02 13:52:29 -04:00
IncludeDirectories Tests/IncludeDirectories: Files must end in a newline (#13314) 2012-06-18 16:16:55 -04:00
JCTest ENH: make it take longer 2008-12-29 18:11:02 -05:00
Java Tests: Java tests should test UseJava.cmake 2011-03-29 11:54:42 +02:00
Jump Cygwin: Fix tests to check CYGWIN instead of WIN32 2010-12-17 09:46:24 -05:00
KDE4StableBranchTest add a test which checks that cmake can build the latest stable KDE4 (kdelibs) release 2009-10-15 18:18:23 -04:00
LibName Ninja: add soname test case 2012-07-09 14:15:08 -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 ENH: some cleanup, condensing some tests, removing arguments that were not needed but rather were cut and paste copies etc 2007-05-18 15:11:20 -04:00
LinkLineOrder ENH: remove warnings in tests 2004-05-02 11:50:14 -04:00
LinkStatic Test static linking with LINK_SEARCH_START_STATIC 2011-03-04 08:37:57 -05:00
LoadCommand LoadCommand test: cleanup 2012-01-20 18:31:32 +01:00
LoadCommandOneConfig ENH: Remove CMAKE_ANSI_CFLAGS from tests 2009-07-08 11:41:48 -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 ENH: Remove CMAKE_ANSI_CFLAGS from tests 2009-07-08 11:41:48 -04:00
MakeClean ENH: Remove CMAKE_ANSI_CFLAGS from tests 2009-07-08 11:41:48 -04:00
MathTest ENH: preclean some warnings 2008-03-25 11:27:18 -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 ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
ObjC++ Tests/ObjC++: Use standard <iostream> header 2012-07-18 10:03:59 -04:00
ObjectLibrary Fix ObjectLibrary test on Watcom 2012-03-20 15:09:57 -04:00
OutDir Fix OutDir test on HP, MinGW, and Cygwin 2009-10-29 09:26:17 -04:00
OutOfBinary BUG: Fixed out-of-source subdirectories to work when they are also out-of-binary. Updated the OutOfSource test to test this feature. 2006-10-09 21:25:58 -04:00
OutOfSource Ninja: Add the Ninja generator 2012-02-02 23:40:21 +00:00
PerConfig Merge topic 'resolve/tests-if-CYGWIN' 2010-12-21 14:05:53 -05:00
Plugin Test NO_SONAME property (#13155) 2012-04-30 11:53:27 -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 ENH: some more CMakeList cleanups 2007-05-11 10:22:20 -04:00
PrecompiledHeader Ninja: add support for OBJECT_OUTPUTS, fix PrecompiledHeader test case 2012-03-17 23:16:40 +00:00
Preprocess Teach our tests about special cases for VS 11 2011-09-23 11:07:24 -04:00
Properties Fix #12342: Add APPEND_STRING option to set_property() 2011-07-15 20:57:33 +02: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 ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
SetLang ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
Simple ENH: some more CMakeList cleanups 2007-05-11 10:22:20 -04:00
SimpleCOnly ENH: add a SimpleCOnly test, this is needed e.g. for testing sdcc since this 2007-06-26 15:30:02 -04:00
SimpleExclude ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
SimpleInstall export(): Document undefined behavior of location properties 2011-12-01 16:00:12 -05:00
SimpleInstallS2 export(): Document undefined behavior of location properties 2011-12-01 16:00:12 -05:00
SourceGroups Fix XCode -> Xcode typos, notably in man page (#12231) 2011-05-31 09:13:00 -04:00
StringFileTest allow STRING(SUBSTRING) work with length -1 as "rest of the string" 2010-12-08 16:38:30 -05:00
SubDir ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
SubDirSpaces Disable SubDirSpaces parens with GNU Make 3.82 (#11654) 2011-01-11 10:01:30 -05:00
SubProject ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
SwigTest ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
SystemInformation Add platform variable for flags specific to shared libraries 2012-06-12 15:38:48 -04:00
TarTest Allow test to work on machines with umasks that do not allow files to be overwritten. 2009-11-09 12:48:31 -05:00
TargetName ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
TestDriver ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
Testing Merge topic 'custom-command-generator-expressions' 2010-12-21 14:03:24 -05:00
TestsWorkingDirectory Fix XCode -> Xcode typos, notably in man page (#12231) 2011-05-31 09:13:00 -04:00
TryCompile Tests: Added test for check_prototype_definition. 2011-03-18 14:03:37 -04:00
Tutorial Use new style header generation and get rid of OBJECT_DEPENDS in tutorial 2009-10-04 22:55:02 -04:00
Unset ENH: Create $CACHE{VAR} syntax 2008-09-25 10:21:15 -04:00
VSExternalInclude Teach our tests about special cases for VS 11 2011-09-23 11:07:24 -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 ENH: preclean some warnings 2008-03-25 11:27:18 -04:00
X11 Tests/X11: Add missing include <stdlib.h> for 'rand' 2012-07-18 09:59:15 -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 Fix the case where cmake --build failed with two project cmds in one file. 2011-12-20 14:16:25 -05:00
CMakeInstall.cmake Avoid running CMake.Install test simultaneously with other tests 2010-12-31 09:18:52 -05:00
CMakeLists.txt Merge topic 'ninja-fix-macosx' 2012-07-24 17:03:46 -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 Always use a configuration for CMake tests 2009-12-10 11:19:23 -05: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 ENH: Add test_clean target to wipe out tests 2008-08-19 11:43:57 -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.