Commit Graph

265 Commits

Author SHA1 Message Date
Ben Boeckel f7438ca7ac Add test for unused detection via setting it 2010-09-16 13:52:54 -04:00
Ben Boeckel aefc91dd37 Add test for usage checks via unset 2010-09-16 13:51:51 -04:00
Brad King 6580f5de99 Merge topic 'improve-missing-source-file-error'
a6b5ead Report missing source files with context of target
2010-09-14 13:31:10 -04:00
Brad King a6b5ead62f Report missing source files with context of target
Previously we reported only the CMakeLists.txt file in the directory
that adds the target.
2010-09-13 16:17:20 -04:00
David Cole 20a6f6cf7a Use QUIET to avoid Java status messages.
CMake devs mostly do not care when Java is found successfully.
2010-09-09 15:41:53 -04:00
Ben Boeckel 439877f620 Be consistent with single and double quotes 2010-09-02 12:14:06 -04:00
Ben Boeckel f047a17c59 Add test for uninitialized variables 2010-09-02 11:34:13 -04:00
Ben Boeckel 75bda3864e Add tests for unused command line variables 2010-09-02 11:33:57 -04:00
Zach Mullen 32242affea Added CTest command --print-labels
This command allows a user to quickly see the list of all available
test labels.  The labels are also printed in verbose show only mode,
alongside their corresponding tests.
2010-08-31 10:41:23 -04:00
Bill Hoffman 929b1c6be3 Remove the ctest submit larget output test.
This test is better covered in CDash now.  It is always failing due
to changes in CDash.  So, it is better removed from CMake.
2010-08-09 13:21:19 -04:00
Brad King 46718ad10d Merge topic 'fix-CTestTestFailedSubmit-xmlrpc'
fbe67a9 CTestTestFailedSubmit-xmlrpc: Pass with "Submission problem"
2010-08-03 16:15:26 -04:00
Modestas Vainius fbe67a9fda CTestTestFailedSubmit-xmlrpc: Pass with "Submission problem"
Pass the test when there is "Submission problem" in the output.  This is
at least applicable to XMLRPC.  Full error message is below:

------
Submission problem: Curl failed to perform HTTP POST request.  curl_easy_perform() says: <url> malformed (-504)
.
  Problems when submitting via XML-RPC
------
2010-07-29 11:39:29 -04:00
Brad King df1e00ff82 Refer to self with CMake_(SOURCE|BINARY)_DIR (#10046)
This is good practice, and is necessary to support building CMake as a
subdirectory of another project.
2010-07-29 11:22:48 -04:00
Brad King f7a0386fc5 Merge topic 'resolve/ctest-file-checksum/remove-CTestTest3'
38c762c Merge 'remove-CTestTest3' into ctest-file-checksum
46df0b4 Activate retry code on any curl submit failure.
8705497 Checksum test should use CMAKE_TESTS_CDASH_SERVER
d0d1cdd Mock checksum failure output for old CDash versions
af5ef0c Testing for CTest checksum
86e81b5 CTest should resubmit in the checksum failed case
d6b7107 Fix subscript out of range crash
082c87e Cross-platform fixes for checksum/retry code
e525649 Checksums on CTest submit files, and retry timed out submissions.
2010-07-13 17:05:33 -04:00
Brad King 38c762c728 Merge 'remove-CTestTest3' into ctest-file-checksum
Conflicts:
	Tests/CMakeLists.txt
2010-07-13 17:01:39 -04:00
David Cole 391acdf199 Add another expected output for the failed submit tests.
The CTestTestFailedSubmit-http test was failing on the
hut11 Experimental dashboards with "Empty reply from
server" due to a localhost settings change.
2010-07-12 17:48:33 -04:00
Zach Mullen 3e52000a07 Fix cycle detection for test dependencies 2010-06-30 10:39:17 -04:00
Brad King 4f4cce5637 Merge branch 'remove-CTestTest3' 2010-06-15 14:10:50 -04:00
Brad King b6313565e1 Merge branch 'msys-bootstrap-test' 2010-06-15 14:06:28 -04:00
David Cole 199e7f2f33 Remove CTestTest3.
At this point, CTestTest3 causes more problems than it's worth.
It uses CVS to grab a remote (over the network) copy of kwsys
code for testing. This causes some sort of problem nearly every
night on the nightly CMake dashboards. Worse: it causes problems
on different machines on different nights, then the next day, it's
fine again. So: remove this test and monitor the coverage.

If we lose a significant portion of code coverage, I will revert
this commit and re-activate the test. However, if we do not lose
a significant portion of code coverage, I will remove the code
for the test as well as removing it from the CMakeLists.txt file.

Brad King and I discussed this over the last few weeks, and we both
think we have sufficient coverage of all the checkout and update code
in other locally (non-network) based tests.

On the other hand, even if we do take a mild hit on coverage temporarily,
it should be relatively easy to increase our coverage again by adding
bits to those other locally based tests.
2010-06-13 11:02:27 -04:00
Brad King 5e102d5e01 Enable BootstrapTest on MSYS
The bootstrap script works under MSYS, so test it.  Use a launcher batch
file since 'ctest --build-and-test' is a Windows program and will not
honor the shebang line in the script.
2010-06-11 14:30:44 -04:00
Zach Mullen af5ef0c969 Testing for CTest checksum 2010-06-10 12:25:49 -04:00
Brad King 376fb31d1a Run CTest.NoNewline test using built CMake
Even though this test is checking that the ctest running it can handle
test output without newlines we should run the just-built CMake binary.
This allows the MemCheck test mode to check the correct CMake.
2010-06-10 08:24:27 -04:00
Brad King 6cf1ccd632 Merge branch 'per-config-link-flags' 2010-06-07 14:36:28 -04:00
Brad King 69292eacfa Merge branch 'fix-large-output-test' 2010-06-07 14:33:57 -04:00
David Cole f6909a69ec Use the long test timeout value for SubmitLargeOutput.
Hopefully this will be a large enough value to get the
large output test to pass on the still exceedingly slow
dash19.
2010-06-03 17:47:48 -04:00
Bill Hoffman aa4daa528e change nightly release builds to use next, and move qmake on dash2win64 2010-05-28 17:53:26 -04:00
Brad King fe971d97ca Add STATIC_LIBRARY_FLAGS_<CONFIG> property (#10768)
This is a per-configuration version of STATIC_LIBRARY_FLAGS.
2010-05-28 11:09:10 -04:00
Brad King d3303dbc81 Test LINK_FLAGS and STATIC_LIBRARY_FLAGS (#10768)
Add a LinkFlags test series to check that these properties work.  Since
no link flag is accepted everywhere we test for presence of flags by
adding a bad flag and looking for the complaint in the test output.
2010-05-28 11:01:42 -04:00
Zach Mullen d80323bccd Fix CTestTestScheduler sporadic failure.
Increased the time difference between each test so that overburdened systems won't fail this test sometimes.
2010-05-07 11:16:44 -04:00
Brad King 4d653fb4ee Fix 'Architecture' test for more Mac linkers
Some Mac linkers produce the message

  "file was built for unsupported file format which is not the
   architecture being linked"

for this test.  Update the test output regex to match it.
2010-05-06 14:37:55 -04:00
David Cole 2938263636 Fix missing set of MSVC10 and add CheckCompilerRelatedVariables test. 2010-04-30 00:46:24 -04:00
Zach Mullen 0ba9d04117 Add the --stop-time argument
Unit test and script hook for STOP_TIME
2010-03-17 11:04:13 -04:00
David Cole a61c5ab6e5 Add CMAKE_TESTS_CDASH_SERVER variable and CTestSubmitLargeOutput test.
If defined and non-empty, the value of CMAKE_TESTS_CDASH_SERVER should point
to a CDash server willing to accept submissions for a project named
PublicDashboard. On machines that also run a CDash dashboard, set this
variable to "http://localhost/CDash-trunk-Testing" so that the CMake tests
that submit dashboards do not have to send those submissions over the wire.

The CTestSubmitLargeOutput test runs a dashboard that has a test that produces
very large amount of output on stdout/stderr. Since we do not even want	 to
attempt to send such large output over the wire, this test is off by default
unless the CMAKE_TESTS_CDASH_SERVER server is localhost. This test is expected
to cause a submission failure when sent to CDash. It passes if the submit
results contain error output. It fails if the submit succeeds.

CMAKE_TESTS_CDASH_SERVER: CDash server used by CMake/Tests.

If not defined or "", this variable defaults to the server at
http://www.cdash.org/CDash.

If set explicitly to "NOTFOUND", curl tests and ctest tests that use the
network are skipped.

If set to something starting with "http://localhost/", the CDash is expected
to be an instance of CDash used for CDash testing, pointing to a
cdash4simpletest database. In these cases, the CDash dashboards should be
run first.
2010-03-08 13:25:58 -05:00
Zach Mullen 2fd9b8072b Add unit test for RESOURCE_LOCK test property 2010-03-03 10:33:09 -05:00
Bill Hoffman ab650f095f Different versions of cygwin report differet messages for cygwin
For cygwin pass the badexe test if either ***Failed or BAD_COMMAND
show up in the output of the test.
2010-02-26 13:45:23 -05:00
Bill Hoffman 0a1ecf197b Change the tag to be master from CVS for release scripts 2010-02-25 14:46:10 -05:00
Zach Mullen 1c13f57313 Add a high COST value to BootstrapTest so that it will be scheduled first in parallel ctest executions. 2010-02-11 11:58:04 -05:00
Zach Mullen c87282ce52 Re-enabled Scheduler test and fixed the underlying problem. 2010-02-03 16:32:26 -05:00
Zach Mullen 4864d48f27 Disable Scheduler test until underlying problem is resolved. 2010-02-03 16:17:02 -05:00
Zach Mullen fe7c4d0c2a Add unit test to ensure that CTestCostData scheduling works correctly 2010-02-03 15:06:29 -05:00
Bill Hoffman bdcce34435 Fix BadExe test on cygwin. 2009-12-18 09:24:49 -05:00
Brad King 11e6b513c2 Test the CheckTypeSize module
We create test "Module.CheckTypeSize" to verify that type sizes get
detected correctly.
2009-12-17 15:15:34 -05:00
Brad King 6c9f678098 Teach ADD_TEST_MACRO about test namespaces
We teach ADD_TEST_MACRO to transform names of the form "Namespace.Name"
to the directory "Namespace/Name" and the project name "Name".  This
will allow new tests to be better organized.
2009-12-17 15:14:14 -05:00
Zach Mullen 5c2a5e06fd Workaround for CTestTestBadExe on Cygwin 2009-12-17 12:51:40 -05:00
David Cole 5eb8e80b2a Add a test to build the CSE project if the optional cache entry CMAKE_TEST_PROJECT_CSE_DIR is set. 2009-12-15 16:52:27 -05:00
David Cole c31b7fcad0 Add one more possible error message from curl for the failed submit tests. 2009-12-14 22:43:40 -05:00
Brad King 555fcbd2e2 Test FortranCInterface flag propagation
We create test FortranC.Flags to try passing per-language flags from a
project into its FortranCInterface detect/verify checks.  We wrap the
compilers with scripts that enforce presence of expected flags.
2009-12-14 12:36:25 -05:00
Brad King 55275e017d New decision method to enable Fortran tests
CMake does not enable Fortran for its own build, but it needs to find a
Fortran compiler to know if it is possible to enable Fortran tests.
Previously we searched for a hard-coded list of Fortran compilers which
was duplicated from the CMakeDetermineFortranCompiler.cmake module.  We
now run CMake on a small test project that enables the Fortran language
and reports the compiler it found.  This represents a more realistic
check of whether the Fortran tests will be able to find a compiler.
2009-12-10 12:16:38 -05:00
Brad King 6c79c96265 Test 'install' target of CMake itself
We create option CMake_TEST_INSTALL to enable a new CMake.Install test.
It tests running the "make install" target to install CMake itself into
a test directory.  We enable the option by default for dashboard builds.
2009-12-10 10:34:36 -05:00
Brad King 9d823f7847 Apply CMake test-time config to all tests
We configure an EnforceConfig.cmake script to load at CTest time.
Previously we loaded it from Tests/CTestTestfile.cmake, but now we load
it from the top level so it applies to all tests.
2009-12-10 10:33:42 -05:00
Brad King 5872cc7c1f Create CMakeLib test driver and test cmXMLParser
We create a new CMakeLibTests driver executable in which to writes unit
tests for CMakeLib.  Our first test is a smoke-test of cmXMLParser.
2009-12-08 11:44:50 -05:00
Zach Mullen 25d7399272 Remove WILL_FAIL property from BadExe test, since CTest was returning 0. Replaced with a pass regex. 2009-12-07 10:15:34 -05:00
Zach Mullen f30c82f370 Added a unit test for running a test command which exists but is not an executable, because it previously caused the outer ctest process to fail. 2009-12-07 09:34:05 -05:00
David Cole 0b38bb4c53 Fix issue #2336 - honor the -C arg to ctest. Honor it for all stages of running -D dashboards from the command line and running ctest_configure, ctest_build and ctest_test commands in -S scripts. Also, allow a script to change it by setting the CTEST_CONFIGURATION_TYPE variable: allows for multiple configuration build/test cycles within one script. Add a new signature for the cmake command build_command that accepts CONFIGURATION as one argument. The original build_command signature is still there, but now marked as deprecated in the documentation. Of course... also add CTestConfig tests to verify that -C is honored for -D dashboards and -S scripts. 2009-12-04 12:09:01 -05:00
Brad King 7380d3ab7c Always use a configuration for CTestTestTimeout
This test requires that the dashboard script it drives be invoked with
"ctest -C <config> -S ...".  We create a "CTestTest_CONFIG" variable to
hold a configuration selected at test time.  We use the configuration
given to the outer CTest, if any, and then default to either Debug or
the CMAKE_BUILD_TYPE.
2009-12-01 09:12:07 -05:00
Brad King 88eefaced1 CTest: Test process tree kill on timeout
We extend the CTestTestTimeout test to check that when a test times out
its children (grandchildren of ctest) are killed.  Instead of running
the timeout executable directly, we run it through a cmake script that
redirects the timeout executable output to a file.  A second test later
runs and verifies that the timeout executable was unable to complete and
write data to the log file.  Only if the first inner test times out and
the second inner test passes (log is empty) does the CTestTestTimeout
test pass.
2009-11-30 16:31:28 -05:00
Brad King 5152bf5639 Cleanup CMakeBuildTest in test_clean target
The test_clean target is supposed to remove all test build directories.
We add the build directory for CMakeBuildTest because it was missing.
2009-11-30 11:16:13 -05:00
Brad King 1d6e7ed71f Improve fake $HOME test isolation code
The commit "Fake $HOME to isolate tests from user" started setting $HOME
in the CTest script environment.  On some platforms tests depend on some
local configuration in the home directory, such as the "cvs login" for
KWSys in CTestTest3.

In this commit we now construct a fake home dir during CMake config step
and populate it with a .cvspass file needed by the test.  We also check
CTEST_NO_TEST_HOME to optionally disable the test home.

See issue #9949.
2009-11-24 12:15:33 -05:00
Brad King bb18790397 Test CMP0015 OLD and NEW link_directories behavior
We create a LinkDirectory test to check that the policy OLD and NEW
behaviors work as documented.  See issue #9697.
2009-11-24 11:17:16 -05:00
Zach Mullen 1da9b54a59 BUG 9950: increase timeout for BootstrapTest to 1.5 hours 2009-11-23 10:22:09 -05:00
David Cole 1412cc442e SimpleInstall test now builds an installer package if CTEST_TEST_CPACK is ON at the Tests/CMakeLists.txt level. 2009-11-16 15:35:04 -05:00
Zach Mullen c9c0ee4056 Change logic of ctest subdirs command to allow for absolute paths. Also added test coverage for passing absolute paths to subdirs. 2009-11-10 10:40:24 -05:00
Zach Mullen 8658fcbe24 Fix TRY_RUN cross compile test to pass consistently 2009-11-09 12:05:49 -05:00
Zach Mullen ef84e81011 Added test coverage for TRY_RUN in cross compile mode. 2009-11-09 11:14:21 -05:00
Bill Hoffman 9c12894636 Add missing depend because of registry write with complex name, they can not be done in parallel. 2009-11-03 19:13:40 -05:00
David Cole cabd917460 Fix failed submit test 'failures'... Regular expression now matches [Cc]ouldn't and [Cc]ould not. 2009-10-30 12:08:10 -04:00
Zach Mullen dae1011d26 Fixed CTestTestRunScript 2009-10-29 12:46:00 -04:00
Zach Mullen 8ca41ca7fb Backout RunScript test again... (debugging on faraway) 2009-10-29 10:13:35 -04:00
Zach Mullen 5075c255f7 Fix RunScript test; it should now work on all platforms 2009-10-29 10:00:28 -04:00
David Cole 06b0f676ce Increase timeout for the nightly build tests so that the poor mac nightly build on dashmacmini2 might have enough time to complete successfully. Use CMAKE_LONG_TEST_TIMEOUT instead of a hard-coded number for the test TIMEOUT property so that a calling script may adjust it by setting a higher CTEST_TEST_TIMEOUT value. 2009-10-28 15:50:40 -04:00
David Cole b5615e9c34 Increase timeout for the nightly build tests so that the poor mac nightly build on dashmacmini2 might have enough time to complete successfully. Allow for up to 3 hours. After measuring successful runs for a few weeks, perhaps we can use a lower value. 2009-10-28 15:41:52 -04:00
Zach Mullen 5eb4372001 Changed RunScript test to be in-source build safe 2009-10-28 14:11:19 -04:00
Brad King 28c3d59ed9 Test per-config OUTPUT_DIRECTORY properties
We test (ARCHIVE|LIBRARY|RUNTIME)_OUTPUT_DIRECTORY_<CONFIG> properties
by building COnly as a subdirectory and setting the properties to put
its files in specific locations.  We build an executable that verifies
the targets actually appear where expected.
2009-10-28 13:35:53 -04:00
David Cole ae1e9900fa 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
David Cole 20fe27cda1 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
Zach Mullen 857b5dc9f5 Disable run_script test for now, it is failing currently on linux 2009-10-26 14:37:37 -04:00
Zach Mullen 6e3dd78b8b Added test coverage for cmCTestRunScriptCommand 2009-10-26 13:10:46 -04:00
Zach Mullen 99697308f3 Add a ctest test to cover cmCTestBatchTestHandler. Since its behavior isn't fully defined yet, we just run it as is and don't care much about the result. 2009-10-26 09:44:08 -04:00
David Cole 62f80415a9 Turn on the NSIS binary for the CPackComponents test if NSIS is found. Should increase coverage of the NSIS generator on the dash16 coverage dashboard. 2009-10-25 17:00:51 -04:00
David Cole 57214662ae Add test of all cmake -G generators. Ignore any errors from this as not all generators are expected to be usable on all machines. Help to increase coverage of the various generators and cmake.cxx itself. 2009-10-22 10:14:40 -04:00
Brad King e4897a78b9 Test OSX_ARCHITECTURES target property
We test the property with a project that fails to link due to an
architecture mismatch between an executable and a static library.

See issue #8725.
2009-10-21 13:01:17 -04:00
David Cole e1458ae4ab Add test of all available CPack generators. Add this test with the goal of increasing coverage of the cpack source code, even/especially when the underlying packager tool is not installed. The test does not fail if there is a cpack problem with a certain generator. I expect some generators will fail on every machine running a CMake dashboard. 2009-10-20 14:31:10 -04:00
Zach Mullen 78174651b6 Added a ctest add_subdirectory test which fails before my patch made earlier today. 2009-10-20 13:35:44 -04:00
David Cole 402fa2ceeb Allow test to pass even if an expected-to-fail submit claims 'Submission successful' - apparently when there is a valid HTTP_PROXY involved, our submitting to an empty drop location appears to succeed. Presumably, the proxy simply takes it like a man, and then discards it... 2009-10-16 11:47:51 -04:00
Alexander Neundorf 7e53bcc115 add a test which checks that cmake can build the latest stable KDE4 (kdelibs) release
To enable this test, the option TEST_KDE4_STABLE_BRANCH must be switched on.
It can only be switched on if CMAKE_RUN_LONG_TESTS is ON.
Then the test will only be added if Qt >= 4.5 can be found, Perl can be
found and ZLIB can be found.

Alex
2009-10-15 18:18:23 -04:00
David Cole d03c6d970f Use LABELS in some ctest_coverage calls to increase coverage in cmCTestCoverageHandler.cxx. 2009-10-15 12:07:14 -04:00
David Cole 886ae02356 Fix crash on Windows. Remove trailing white space from regex. These changes should correct all failures of the new FailedSubmit tests. 2009-10-15 07:38:51 -04:00
David Cole e3dec97333 Add another possible error message that curl might emit with an empty drop location. 2009-10-14 15:02:16 -04:00
David Cole a85ac1a734 Use macro instead of function since DASH2 continuous dashboard still uses CMake 2.4.8 to drive the dashboard. Add clarifying comments so that a future developer does not delete seemingly unused variables: they are used: inside the input to the configure_file call. 2009-10-14 14:18:47 -04:00
David Cole 2137955138 Increase ctest coverage. Add tests that intentionally call ctest_submit without any drop location so that the submits fail. Call for each possible type of submit. Also use the launchers from these scripts. 2009-10-14 13:32:46 -04:00
Brad King 0653286dc6 Split Borland compiler information files
This commit re-writes Borland compiler build rules.  We split the rules
into modern <os>-<id>-<lang> information modules but share a common
macro between languages to avoid duplication.

We also address a bug in the previous rules that would build some target
types against the static Borland runtime and others against the shared
Borland runtime in one build tree.  Now we always use the shared runtime
as is the default in the rules for MS tools.
2009-10-08 11:56:07 -04:00
Brad King 7dcfc8d23a Make Complex test of CMakeLib more optional
Previously we passed inputs to the decision to each Complex test and let
the test source decide.  This commit moves the decision out of the tests
and makes it an option() in their source.  This makes it possible to
build the Complex tests from outside the CMake test tree.
2009-10-07 16:11:52 -04:00
David Cole a6facbcca3 Use the correct CMake (the freshly built one) to drive the CMakeWizardTest. 2009-10-07 06:33:09 -04:00
David Cole d8efcfc787 Increase coverage. Add test of class cmakewizard. (cmake -i 'mode') 2009-10-06 13:27:13 -04:00
Brad King b4ace1cca0 Test INTERPROCEDURAL_OPTIMIZATION build feature
This creates an "IPO" test that builds some other tests as subdirectories
while enabling INTERPROCEDURAL_OPTIMIZATION.  See issue #9615.
2009-10-02 13:52:29 -04:00
Brad King 0db2c8505e Test use of module .def files for MS tools
This adds a "ModuleDefinition" test enabled when using MSVC tools.  It
checks that .def files can be used to export .dll and .exe symbols and
create corresponding .lib files that can be linked.  See issue #9613.
2009-09-29 16:39:43 -04:00
Zach Mullen f321dbb17b ENH: Added ctest test coverage for a test timeout 2009-09-29 15:18:46 -04:00
Brad King 65a78ec5b8 Test support for OLD behavior of policy CMP0002
Policy CMP0002's OLD behavior allows duplicate non-custom targets.  We
test it with a project that builds two executables of the same name by
setting CMP0002 to OLD.
2009-09-28 17:34:34 -04:00
Bill Hoffman 815ec522ee SEGFAULT does not work on watcom with ctest, so don't expect it to... 2009-09-24 14:14:23 -04:00