summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/RunCMake.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Teach RunCMake to ignore PGI license expiry warningsBrad King2019-11-011-0/+6
| | | | These are not useful in nightly testing.
* Graphviz: added test suite, fixes, enhancementsCorentin Plouet2019-10-081-0/+23
| | | | | | | | | | | | | | | | | | | | * Added a fairly comprehensive test suite * Separated the graph traversal logic from the Graphviz generation code by introducing a new class, cmLinkItemsGraphVisitor{.h,cxx} * Made the graph traversal logic less ad-hoc by using existing methods in the GlobalGenerator; this fixed a few bugs * Added support for new target types: custom targets, object and unknown libraries * Improved support for ALIAS libraries by showing the alias(es) in the graph * Introduced new flags to control those new libraries (consistent with existing flags) * Updated the documentation * Removed useless setting to set graph type in dot file * Improved the node/edge shapes (nicer, more consistent) * Added a legend to the graph * Some refactoring and cleanup of the Graphviz generation code * Added test and fix for issue 19746
* Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-1/+4
|\ | | | | | | | | | | | | | | Resolve conflicts with changes since the 3.15 series: * Convert `cmSystemTools::IsOn` => `cmIsOn`. * Move one "EXCLUDE_FROM_ALL" target property logic fix to its new location in `cmMakefile::AddNewUtilityTarget`.
| * Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all'Brad King2019-09-301-1/+4
| |\
| | * Tests: Teach RunCMake to support a custom working directoryBrad King2019-09-241-1/+4
| | |
* | | Tests: Drop RunCMake workaround for AIX ld warnings about GNU atexitBrad King2019-07-151-2/+0
| | | | | | | | | | | | | | | | | | | | | Drop the filtering added by commit e22c45d4c9 (Tests: Teach RunCMake to ignore AIX ld warnings about GNU atexit, 2018-02-28, v3.12.0-rc1~419^2~6). It is no longer needed now that we compute our own exports on AIX and do not get these warnings when using shared libraries.
* | | RunCMake: Automatically support platform out override filesRobert Maynard2019-06-211-0/+10
|/ /
* | Tests: Add RunCMake helper to run cmake with optionsBrad King2019-04-101-0/+5
| |
* | Tests: Teach RunCMake to optionally exclude the source dir argumentBrad King2019-04-101-1/+7
|/
* Tests: Add RunCMake_TEST_FILTER environment variableKyle Edwards2018-12-131-0/+4
| | | | | | | This environment variable allows developers to locally run only a subset of RunCMake subtests in a single RunCMakeTest.cmake script. If the environment variable is not set, all of the tests in the script are run.
* Tests: Add RunCMake "prep" stepBrad King2018-12-111-0/+5
| | | | | Give tests a chance to write content to the build tree before CMake runs on it.
* Tests: Teach RunCMake infrastructure to optionally provide stdinBrad King2018-11-151-0/+9
|
* Tests: Teach RunCMake to ignore Xcode missing file type warningsBrad King2018-06-191-0/+1
| | | | | | | | | | Xcode 10 beta warns xcodebuild... warning: file type '::com.apple.instruments.instrdst' is based on missing file type 'default::com.apple.package' Teach RunCMake to drop such lines before matching against expected output.
* Drop Visual Studio 8 2005 generatorBrad King2018-04-021-3/+0
| | | | This generator has been deprecated since CMake 3.9. Remove it.
* Tests: Teach RunCMake to ignore AIX ld warnings about GNU atexitBrad King2018-03-011-0/+2
|
* Add infrastructure for generators to select a build tool instanceBrad King2017-10-191-0/+6
| | | | | | | | | | | | | | Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location persistently across re-runs of CMake in a given build tree. For now we reject the option by default if explicitly set. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add a RunCMake.GeneratorInstance test to cover basic use cases for the option. Verify that `CMAKE_GENERATOR_INSTANCE` is empty by default, and that it is rejected when the generator does not support a user setting. Issue: #17268
* Tests: Teach RunCMake to ignore clang unused sanitizer flag warningsBrad King2017-10-101-0/+1
| | | | | These can show up in Release builds of CMake because some tests still build Debug.
* Tests: Refactor RunCMake output line ignore regex constructionBrad King2017-10-101-1/+12
| | | | Avoid one giant line.
* Deprecate Visual Studio 8 2005 generatorBrad King2017-04-211-0/+3
| | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* Drop Visual Studio 7 .NET 2003 generatorBrad King2017-04-191-3/+0
| | | | This generator has been deprecated since CMake 3.6. Remove it.
* RunCMake: Ignore xcodebuild bug warnings in testsGregor Jasny2017-03-241-1/+1
| | | | | | | | | | | | Encountered on OS X 10.4 with old Xcode: Expected stderr to match: expect-err> ^$ Actual stderr: actual-err> Hit xcodebuild bug : ... bad interpreter: Text file busy
* Xcode: Ignore Xcode project warning until issue is fixedGregor Jasny2017-01-261-1/+1
| | | | Issue: #15272
* execute_process: Add ENCODING option for Windows child process outputDāvis Mosāns2016-11-301-0/+2
| | | | Different applications can use different output encodings.
* Use string(APPEND) in TestsDaniel Pfeifer2016-07-271-3/+3
| | | | | | | Automate with: find Tests -type f -print0 | xargs -0 perl -i -0pe \ 's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
* Deprecate Visual Studio 7 .NET 2003 generatorBrad King2016-04-281-0/+3
| | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* Tests: Drop test for VS 7.0 generator deprecation warningsBrad King2016-04-281-3/+0
| | | | | We removed this generator but forgot to remove this now-unused test case.
* Drop Visual Studio 6 generatorBrad King2016-03-091-3/+0
| | | | | | This generator has been deprecated since CMake 3.3. Remove it. Update documentation, modules, and tests to drop content specific to this generator.
* Tests: Teach RunCMake infrastructure to use custom check.cmake fileBrad King2015-09-171-1/+5
|
* Tests: Teach RunCMake to tolerate 'Bullseye Testing' lines in test outputBrad King2015-09-171-1/+1
| | | | | | | | | | When testing under Bullseye coverage, some tests get lines on stderr of the form: ... Bullseye Testing Technology ... Remove such lines from output before matching because they are not representative of the actual test output.
* Tests: Teach RunCMake to tolerate 'Time Machine' lines in test outputBrad King2015-09-171-1/+1
| | | | | | | | | On some OS X machines some tests get lines on stderr of the form: ... attempting to exclude an item from Time Machine by path ... produced by the system. Remove such lines from output before matching because they are not representative of the actual test output.
* Tests: Teach RunCMake infrastructure to optionally timeoutBrad King2015-06-301-0/+7
| | | | | Add a RunCMake_TEST_TIMEOUT option that tests can set to cause RunCMake to limit the time it waits for the child process to finish.
* Tests: Protect RunCMake tests from MAKEFLAGS in environment (#15542)Brad King2015-04-291-0/+3
|
* Deprecate Visual Studio 7 generator (.NET 2002)Brad King2015-04-151-0/+3
| | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* Deprecate Visual Studio 6 generatorBrad King2015-04-151-0/+3
| | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* Tests: Teach RunCMake to optionally merge command output to stdoutBrad King2015-04-071-2/+8
| | | | | | | Some tests may need to read "cmake --build" output passed through from native build tools and do not know if it will be on stdout or stderr. Optionally use the same variable for the execute_process output so that it merges them and we can always match using expected stdout.
* Tests: Teach RunCMake to tolerate 'Error kstat returned' lines in test outputBrad King2015-02-231-1/+1
| | | | | | | | | | When RunCMake tests run on Solaris, the output may contain unexpected lines of the form "Error kstat returned...". These lines are printed by SystemInformationImplementation::RunProcess when called from SystemInformationImplementation::ParseValueFromKStat (see issue #12066). Until someone investigates why kstat returns values outside the range it documents, simply remove such lines from the actual output before matching it against the expected output.
* Tests: Teach RunCMake to tolerate Guard Malloc lines in test outputBrad King2015-02-231-1/+1
| | | | | | | When RunCMake tests run under Xcode Guard Malloc, Guard Malloc may add lines of the form "<tool>(<pid>) malloc:..." to the output. Remove such lines from the actual output before matching it against the expected output.
* Tests: Teach RunCMake to tolerate BullseyeCoverage lines in test outputBrad King2015-02-231-1/+1
| | | | | | When RunCMake tests run under dynamic analysis, Bullseye may add lines of the form "BullseyeCoverage..." to the output. Remove such lines from the actual output before matching it against the expected output.
* RunCMake: Allow specifying the stderr file for a test.Stephen Kelly2015-02-091-1/+4
|
* Tests/RunCMake: Normalize newlines before checking actual outputBrad King2015-01-271-0/+1
| | | | | We read the expected output with file(STRINGS) which converts CRLF newlines to LF. Do the same with the actual output before comparing.
* Tests/RunCMake: Honor CMAKE_MAKE_PROGRAMBrad King2015-01-241-0/+3
| | | | | If tests are using an explicit make program, pass it through to RunCMake tests so that any that actually do build use the expected tool.
* Tests: Teach RunCMake to report command-line on failureBrad King2015-01-151-0/+4
| | | | | When a test sets RunCMake_TEST_COMMAND, report the command line on failure to make it easier to run by hand for debugging.
* RunCMake: Expect empty output by default.Stephen Kelly2014-12-311-0/+7
| | | | | | | | | | | Expect tests to specify stderr content if it is present. Fix the CMP0019 test, which has only been testing the WARN status until now. Specify in the CommandLine and FPHSA tests that content is at least one character. Set policies in the Language and CheckModules tests, which have empty test output, modulo unrelated policies on some platforms.
* Tests: Allow RunCMake expected result code to be a regexBrad King2014-12-161-1/+1
| | | | | This will allow the '-result.txt' files to specify a regex matching different results on different platforms.
* cmake: Add -A option to specify a generator platformBrad King2014-09-151-1/+1
| | | | | | | | | | | | Define the 'cmake -A' option to set CMAKE_GENERATOR_PLATFORM without having to spell out the whole variable name. We choose the name '-A' for "platform" because '-P' is already taken, and in the common use case the "platform" is actually an architecture (e.g. x64). Teach the RunCMake test infrastructure to use -A to pass the generator platform. Extend the RunCMake.GeneratorPlatform test with a case to verify that the -A option cannot be repeated.
* Tests: Add generator platform supportBrad King2014-09-101-0/+1
| | | | | Propagate CMAKE_GENERATOR_PLATFORM through the test hierarchy so that all tests can build with the selected generator platform, if any.
* 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.
* RunCMake: Allow specifying the source dir and file to test.Stephen Kelly2014-04-061-2/+7
| | | | | | | | | | This will allow decoupling the name of the test from the name and location of the source file under test, which means one source file can be used for multiple tests. Rename the PARENT_SCOPE test in RunCMake.set to not use a keyword of the if() command as a file name. As the filename is now used with an if condition, this causes a conflict.
* Tests/RunCMake: Tell cmake not to report unused command-line optionsBrad King2014-02-271-0/+1
| | | | | | | | | On OS X we pass -DCMAKE_POLICY_DEFAULT_CMP0025=NEW to all tests. Once tests start using cmake_minimum_required(VERSION 3.0) then CMake will warn that CMAKE_POLICY_DEFAULT_CMP0025 is unused. These warnings are not part of the expected test output and can cause such tests to fail. Pass --no-warn-unused-cli to each test cmake invocation to tell it not to produce these warnings.
* Tests/RunCMake: Add function to run a specified command-lineBrad King2014-01-201-11/+26
| | | | | | | Add a 'run_cmake_command' function that can be used by tests to run a given command-line and check the results rather than always running a CMake configuration process. This can be used in the future to test 'cmake -E' for example.