summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/RunCMake.cmake
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Merge topic 'apple-clang-id'Brad King2013-10-091-0/+3
|\ | | | | | | | | | | | | 1763c31 Set policy CMP0025 to NEW while building CMake itself aa53ee5 Add policy CMP0025 for Apple Clang compiler id compatibility ab65862 Clang: Add separate "AppleClang" compiler id
| * Set policy CMP0025 to NEW while building CMake itselfBrad King2013-10-081-0/+3
| | | | | | | | | | | | | | | | | | | | CMake is aware of the policy's NEW behavior and the AppleClang compiler id. Set the policy to NEW explicitly to avoid the warning and get the NEW behavior. Also teach the RunCMake test infrastructure to build tests with -DCMAKE_POLICY_DEFAULT_CMP0025=NEW to avoid the policy warning in test output that must match specific regular expressions.
* | Tests/RunCMake: Tolerate valgrind lines in CMake outputBrad King2013-09-161-0/+1
|/ | | | | | When RunCMake tests run during dynamic analysis, valgrind may add lines of the form "==[0-9]+==..." to the output. Remove such lines from the actual output before matching it against the expected output.
* Tests/RunCMake: Allow tests to control build tree behaviorBrad King2013-02-181-2/+6
| | | | | Teach the run_cmake to allow tests to set a custom test build directory. Also add an option to skip removing the build directory.
* Tests: Add generator toolset supportBrad King2013-02-071-1/+3
| | | | | Propagate CMAKE_GENERATOR_TOOLSET through the test hierarchy so that all tests can build with the selected generator toolset, if any.
* CMake: Add -T option to choose a generator toolsetBrad King2013-02-071-0/+4
| | | | | | | | | | | | Reject the option by default. It will be implemented on a per-generator basis. Pass the setting into try_compile project generation. Add cache entry CMAKE_GENERATOR_TOOLSET and associated variable documentation to hold the value persistently. Add a RunCMake.GeneratorToolset test to cover basic "-T" option cases. Verify that CMAKE_GENERATOR_TOOLSET is empty without -T, that -T is rejected when the generator doesn't support it, and that two -T options are always rejected.
* Teach RunCMake tests to allow custom checksBrad King2012-04-191-6/+11
| | | | | | Look for a <SubTest>-check.cmake script and load it to check side effects of the sub test. Provide it with the test source and build tree paths in variables. Check for a failure message in a result variable.
* Add stronger infrastructure for CMake-only testsBrad King2012-03-121-0/+69
The CMakeOnly directory added by commit 9a20abf0 (Add infrastructure for CMake-only tests, 2012-01-11) was sufficient only for tests that always run CMake to successfully configure a project. Later commit eeaaffcb (find_package: Test error and warning messages in failure cases, 2012-02-28) added a sample test that covers failure cases. Generalize the above to create new "RunCMake" test infrastructure that can run CMake multiple times for a single project with different variations and check for expected result/stdout/stderr. Allow for both successful and failing CMake project configuration cases. This will be useful to test error messages and failure behavior.