summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'CMakePackageConfigHelpers-INSTALL_PREFIX'Brad King2014-08-111-0/+38
|\ | | | | | | | | | | | | | | | | 704830ae Help: Add notes for topic 'CMakePackageConfigHelpers-INSTALL_PREFIX' e3007c92 CMakePackageConfigHelpers: Add unit tests for INSTALL_PREFIX option d057bf85 CMakePackageConfigHelpers: Add INSTALL_PREFIX option f3dd116c CMakePackageConfigHelpers: restructure documentation and document commands 64eca30d CMakePackageConfigHelpers: Remove unused variable
| * CMakePackageConfigHelpers: Add unit tests for INSTALL_PREFIX optionDaniele E. Domenichelli2014-08-111-0/+38
| |
* | Genex: Do not consider 'head' when evaluating build propertiesBrad King2014-08-062-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | When $<TARGET_PROPERTY> names a build property like COMPILE_DEFINITIONS but not the usage requirement (INTERFACE_) version of it, the value should be that used to build the target. It should not be influenced by a dependent 'head' target like usage requirements are. Extend the CompileDefinitions test with a case covering the corrected behavior. Reviewed-by: Stephen Kelly <steveire@gmail.com>
* | file: Add ENCODING option to file(STRINGS) command (#10519)Clinton Stimpson2014-08-062-0/+13
|/ | | | Support extraction of UTF-8 strings.
* Merge topic 'fix-CMP0049-extra-error'Brad King2014-07-314-0/+14
|\ | | | | | | | | b2282631 cmTarget: Do not mistake a preceding error for a CMP0049 failure
| * cmTarget: Do not mistake a preceding error for a CMP0049 failureBrad King2014-07-304-0/+14
| | | | | | | | | | | | | | | | | | After calls to ProcessSourceItemCMP0049, check for an empty return string to detect a failure instead of trusting GetErrorOccuredFlag. The latter could have been left from a preceding non-fatal error. Extend the RunCMake.Configure test to cover a case that exposed this problem.
* | Merge topic 'pdb-genex'Brad King2014-07-3111-0/+86
|\ \ | |/ |/| | | | | | | f86850ef Genex: Implement generator expressions for target PDB files. 028ad318 Genex: Simplify filesytem artifact code
| * Genex: Implement generator expressions for target PDB files.Nils Gladitz2014-07-3111-0/+86
| |
* | Handle more than one process with sanitizer errors.Bill Hoffman2014-07-241-0/+7
|/ | | | | | Since the Sanitizers write out one log file per process, a single test might have more than one log file. This commit allows ctest to read all of the log files found for a particual test.
* Merge topic 'fix_sanitizer_test_to_work_with_sanitizer'Brad King2014-07-233-2/+10
|\ | | | | | | | | f7d62cac Fix leak and address sanitizer tests to be able to run with real tools.
| * Fix leak and address sanitizer tests to be able to run with real tools.Bill Hoffman2014-07-223-2/+10
| | | | | | | | | | | | | | When running CMake under Leak or Address Sanitizer tools, the fake reporting would get picked up by the outer CMake and reported as leaks and address failures on the CMake dashboard. This commit makes sure the test only reports simulated errors when asked to.
* | Merge topic 'fix-complex-test-policies'Brad King2014-07-232-0/+30
|\ \ | | | | | | | | | | | | fb95f820 Tests: Set policies in 'complex' tests
| * | Tests: Set policies in 'complex' testsBrad King2014-07-222-0/+30
| |/ | | | | | | | | | | These tests cover the OLD behavior of some policies. Set them to OLD to avoid warnings in the test output. Leave a comment that explains why this is done here but not recommended in general.
* | Merge topic 'fix_guard_malloc_forbc'Brad King2014-07-221-1/+1
|\ \ | |/ |/| | | | | 80ee17d8 Tests/CTestTestMemcheck: Tolerate malloc guard in BC output
| * Tests/CTestTestMemcheck: Tolerate malloc guard in BC outputBill Hoffman2014-07-221-1/+1
| |
* | Merge topic 'fix_Xcode_generator_name'Brad King2014-07-183-4/+5
|\ \ | | | | | | | | | | | | 3526478c Tests: Activate tests accidentally excluded from Xcode
| * | Tests: Activate tests accidentally excluded from XcodeBrad King2014-07-173-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | The generator name is "Xcode", not "XCode". Fix this typo. Explicitly exclude the SubDirSpaces test on Xcode because it does not work. Also tell the RunCMake.File_Generate test when Xcode is not multi-config so it can exlcude the OutputConflict case. Inspired-by: Daniele E. Domenichelli <daniele.domenichelli@iit.it>
* | | Merge topic 'encoding-ctest-fixes'Brad King2014-07-181-1/+9
|\ \ \ | |_|/ |/| | | | | | | | 09b2ac38 Encoding: Fix a few encoding problems with ctest.
| * | Encoding: Fix a few encoding problems with ctest.Clinton Stimpson2014-07-181-1/+9
| |/ | | | | | | | | This also fixes some test failures on Windows when the name of the build directory contains non-ascii characters.
* | Honor $<LINK_ONLY> when checking interface propertiesBrad King2014-07-164-2/+28
| | | | | | | | | | | | | | | | | | | | Callers of cmTarget::GetLinkImplementationClosure are interested in the set of targets whose interface properties propagate to the current target. This excludes targets guarded by $<LINK_ONLY>. Teach the CompatibleInterface test to cover suppression of interface compatibility tests with $<LINK_ONLY>. Although this is not recommended in practice, it is a way of covering the above behavior.
* | Make $<LINK_ONLY> available to projects (#14751)Brad King2014-07-168-2/+35
| | | | | | | | | | | | | | | | Previously this generator expression was used internally by the target_link_libraries command to honor private linking requirements of static libraries in their INTERFACE_LINK_LIBRARIES. Remove the check that limits $<LINK_ONLY> to this use case to make it available for project code to use too.
* | ctest_memcheck: Add support for memory and leak sanitizer.Bill Hoffman2014-07-163-4/+126
|/ | | | | | This adds support for memory and leak sanitizers. This is built into clang and gcc 4.8 and new compilers. It is activated with a -f switch during compile.
* Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970)Brad King2014-07-145-4/+23
| | | | | | | | | | | | Fix cmTarget::GetSourceFiles to set EvaluateForBuildsystem on the $<TARGET_PROPERTY:...,INTERFACE_SOURCES> generator expression so that the $<TARGET_OBJECTS> generator expression is allowed within an INTERFACE_SOURCES value. Extend the InterfaceLibrary test to cover this case. Extend the RunCMake.TargetObjects test to cover failure of $<TARGET_OBJECTS> when used through $<TARGET_PROPERTY:...,INTERFACE_SOURCES> in a non-buildsystem context.
* Merge topic 'thread-sanitizer'Brad King2014-07-093-0/+66
|\ | | | | | | | | | | 7c80ce6f Help: Add notes for topic 'thread-sanitizer' 49948f72 ctest_memcheck: Add support for ThreadSanitizer
| * ctest_memcheck: Add support for ThreadSanitizerBill Hoffman2014-07-093-0/+66
| | | | | | | | | | | | | | | | | | This commit adds support for ThreadSanitizer to ctest. ThreadSanitizer is part of the clang compiler and also gcc 4.8 and later. You have to compile the code with special flags. Then your code gets the the ThreadSanitizer ability built into it. To pass options to the ThreadSanitizer you use an environment variable. This commit teaches ctest to parse the output from ThreadSanitizer and send it to CDash.
* | add_library: Allow arbitrary non-linked sources in OBJECT librariesBrad King2014-07-094-3/+17
| | | | | | | | | | | | | | | | | | | | | | Loosen this restriction on OBJECT libraries to allow source files of any name to be generated by custom commands or listed for reference in IDE projects so long as they would not affect linking of a normal library. Update the rejection message to be more specific about the looser restriction. Extend the ObjectLibrary test to cover a ".cmake" file generated by a custom command in an OBJECT library.
* | Tests: Fix broken dependency in ObjectLibrary testBrad King2014-07-071-1/+1
| | | | | | | | The add_custom_command DEPENDS option needs a full path.
* | Tests: Resolve TODO comment left in ObjectLibrary testBrad King2014-07-072-8/+2
|/ | | | | We now have a generic way to add -fPIC without explicitly modifying CMAKE_C_FLAGS, so use it.
* Merge topic 'refactor-usage-requirement-evaluation'Brad King2014-07-073-10/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93790506 cmTarget: Simplify INTERFACE_INCLUDE_DIRECTORIES usage requirement lookup b5b098eb cmTarget: Simplify CMP0027 logic in processIncludeDirectories 5e07dcf7 cmTarget: Add to LinkImplementation whether each library was a genex f77b384c cmTarget: Simplify INTERFACE_COMPILE_FEATURES usage requirement lookup 61ef8daa cmTarget: Simplify INTERFACE_COMPILE_DEFINITIONS usage requirement lookup d9586f83 cmTarget: Simplify INTERFACE_COMPILE_OPTIONS usage requirement lookup 3156275b cmTarget: Simplify INTERFACE_SOURCES usage requirement lookup 363cd33e cmTarget: Add method to add usage requirements from linked interfaces 251e835b cmTarget: Add to LinkImplementation a backtrace for each library 848c8ccf cmTarget: Refactor LinkImplementation to allow more information f85ccf23 cmGeneratorExpressionEvaluator: Shorten some long lines 82e91e34 cmComputeLinkDepends: Convert AddLinkEntries to a template
| * cmTarget: Simplify INTERFACE_INCLUDE_DIRECTORIES usage requirement lookupBrad King2014-07-071-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Use the AddInterfaceEntries helper to avoid duplication. In TargetPropertyEntry, replace the TargetName string member with a reference to the full cmLinkImplItem that produced the entry. This is possible because the cmLinkImplItem is available in AddInterfaceEntries (it was not available in GetIncludeDirectories). Having the full cmLinkImplItem allows processIncludeDirectories to implement CMP0027 OLD behavior without repeating the target name lookup. Update the RunCMake.CompatibleInterface test DebugProperties case expected output for the new order of the messages.
| * cmTarget: Simplify INTERFACE_SOURCES usage requirement lookupBrad King2014-07-072-3/+7
| | | | | | | | Use the AddInterfaceEntries helper to avoid duplication.
* | Merge topic 'ExternalProject_test'Brad King2014-07-0712-201/+246
|\ \ | | | | | | | | | | | | 92af3664 Tests: split the ExternalProject test
| * | Tests: split the ExternalProject testRolf Eike Beer2014-07-0312-201/+246
| |/ | | | | | | | | | | | | | | Move the subtests that test with local projects into their own test. The reason is that on slower or crowded machines the test may reach the limit of 25 minutes and therefore fail while it would pass if it was given enough time. The split is roughly 3:1 with regard to the execution time, with the new ExternalProjectLocal test being the faster one.
* | Merge topic 'WriteCompilerDetectionHeader-valid-prefix'Brad King2014-07-077-0/+34
|\ \ | | | | | | | | | | | | b47c125f WCDH: Ensure that the prefix argument to the macro is valid.
| * | WCDH: Ensure that the prefix argument to the macro is valid.Stephen Kelly2014-07-027-0/+34
| |/ | | | | | | | | The prefix must be a C-identifier because it is written as the prefix of preprocessor macros and possibly structs.
* | Tests: Fix CTestTestTimeout output order to match regexBrad King2014-07-021-1/+1
|/ | | | | | Print the "timeout correctly killed" message using message(STATUS) so that 'ctest -S' puts it in the same pipe as the rest of the test command handler output. This ensures it shows up in the same order every time.
* Merge topic 'ExternalProject_test'Brad King2014-07-021-54/+0
|\ | | | | | | | | 7269e69f ExternalProject test: remove unused file
| * ExternalProject test: remove unused fileRolf Eike Beer2014-07-011-54/+0
| |
* | Merge topic 'memcheck-test-no-lang'Brad King2014-07-021-1/+1
|\ \ | | | | | | | | | | | | 5217ad26 CTestTestMemcheck: do not search for compilers
| * | CTestTestMemcheck: do not search for compilersRolf Eike Beer2014-07-011-1/+1
| |/
* | Merge topic 'tests-add_test-NAME'Brad King2014-07-021-1/+1
|\ \ | | | | | | | | | | | | 902c9063 Tests: Use add_test(NAME) signature in add_test_macro
| * | Tests: Use add_test(NAME) signature in add_test_macroBen Boeckel2014-07-011-1/+1
| |/ | | | | | | This will allow generator expressions to be used in test arguments.
* | Merge topic 'fix-circular-transitive-properties-segfault'Brad King2014-07-0220-0/+128
|\ \ | | | | | | | | | | | | | | | 65aa5442 Target: Return null when a transitive property is not defined. 61ce6547 Genex: Fix stack overflow in transitive property evaluation.
| * | Genex: Fix stack overflow in transitive property evaluation.Stephen Kelly2014-07-0120-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v2.8.11~156^2~2 (Expand includes and defines transitively in 'external' genexes., 2013-02-13) introduced a recursive loop and a stack overflow during evaluation of a link implementation which depends on a transitive property, such as add_library(empty1 ...) add_library(empty2 ...) target_link_libraries(empty1 PRIVATE $<$<STREQUAL:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>,/foo/bar>:empty2> ) There is no use-case for code like that currently, but it should not cause a stack overflow. Avoid the recursion by reporting an error early if a case like this is found.
* | | Ninja: Add order-only dependencies to link commands (#14728)Ben Boeckel2014-07-011-0/+6
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | A library or executable target that consists only of a reference to an object library may have no sources to compile or custom commands to run. The command in the target is the link (or archive) command. Add missing order-only dependencies to link commands so that target ordering dependencies are satisfied for it without depending on an intermediate compilation rule. Extend the ObjectLibrary test to cover this case. Co-Author: Brad King <brad.king@kitware.com>
* | Merge topic 'test-speedup-RunCMake.include_directories'Brad King2014-07-0119-44/+55
|\ \ | | | | | | | | | | | | | | | | | | | | | 9998d78d Tests: Speed up RunCMake.include_directories test 6eee5d74 Tests: Drop broken and now unused RunCMake_TEST_FILE option f0f15b93 Tests: Refactor RunCMake.include_directories to drop RunCMake_TEST_FILE 8707814e Tests: Refactor RunCMake.File_Generate to drop RunCMake_TEST_FILE
| * | Tests: Speed up RunCMake.include_directories testBrad King2014-06-3011-11/+11
| | | | | | | | | | | | | | | | | | Remove unnecessary language initializations. Change the main CMakeLists.txt project() call to specify NONE. Use enable_language(CXX) instead of project() in cases that need it to avoid enabling C too.
| * | Tests: Drop broken and now unused RunCMake_TEST_FILE optionBrad King2014-06-301-4/+1
| | | | | | | | | | | | | | | | | | | | | We cannot use -DRunCMake_TEST=${RunCMake_TEST_FILE} because test cases use project(${RunCMake_TEST}) and the project name cannot be a path to a file. The parent and grandparent commits removed the only uses of the option. Drop it now.
| * | Tests: Refactor RunCMake.include_directories to drop RunCMake_TEST_FILEBrad King2014-06-304-24/+35
| | | | | | | | | | | | | | | Drop use of RunCMake_TEST_FILE and pass the test file in through a definition in RunCMake_TEST_OPTIONS.
| * | Tests: Refactor RunCMake.File_Generate to drop RunCMake_TEST_FILEBrad King2014-06-304-5/+8
| |/ | | | | | | | | Drop use of RunCMake_TEST_FILE and pass the test file in through a definition in RunCMake_TEST_OPTIONS.