Brad King
1823ab4d76
ExternalData: Preserve escaped semicolons during argument expansion
...
The CMake language implicitly flattens lists so a ";" in a list element
must be escaped with a backslash. List expansion removes backslashes
escaping semicolons to leave raw semicolons in the values. Teach
ExternalData_Add_Test and ExternalData_Expand_Arguments to re-escape
semicolons found in list elements so the resulting argument lists work
as if constructed directly by the set() command.
For example:
ExternalData_Add_Test(Data NAME test1 COMMAND ... "a\\;b")
ExternalData_Expand_Arguments(Data args2 "c\\;d")
add_test(NAME test2 COMMAND ... ${args2})
should be equivalent to
set(args1 "a\\;b")
add_test(NAME test1 COMMAND ... ${args1})
set(args2 "c\\;d")
add_test(NAME test2 COMMAND ... ${args2})
which is equivalent to
add_test(NAME test1 COMMAND ... "a;b")
add_test(NAME test2 COMMAND ... "c;d")
Note that it is not possible to make ExternalData_Add_Test act exactly
like add_test when quoted arguments contain semicolons because the CMake
language flattens lists when constructing function ARGN values. This
re-escape approach at least allows test arguments to have semicolons.
While at it, teach ExternalData APIs to not transform "DATA{...;...}"
arguments because the contained semicolons are non-sensical.
Suggested-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
2013-03-12 16:33:19 -04:00
Brad King
55f0148d7b
ExternalData: Test content link with a space in its name
...
Extend the Module.ExternalData test to cover a DATA{} reference whose
name contains a space. Skip the case when the native build tool does
not support spaces.
2013-02-22 08:25:06 -05:00
Brad King
aed590a7e0
Fix Module.ExternalData test on Cygwin
...
In ExternalData_URL_TEMPLATES add a leading slash to the path after
file:// only if the path does not already start with one.
2013-02-04 15:19:49 -05:00
Brad King
e2e0d2e3c7
ExternalData: Collapse ../ components in DATA{} paths
...
Relative path components need to be normalized out even if they appear
in the middle of a caller-supplied string.
2013-01-30 14:55:12 -05:00
Brad King
ee2abfdc89
ExternalData: Add support for SHA 1 and 2 hash algorithms
...
Update the Module.ExternalData and RunCMake.ExternalData tests to cover
some of them.
2013-01-30 10:05:07 -05:00
Brad King
9e518a8169
ExternalData: Allow DATA{} syntax to reference directories
...
Use a trailing slash to reference a directory. Require that a list
of associated files be specified to select from within the directory.
One may simply use DATA{Dir/,REGEX:.*} to reference all files but
get a directory passed on the command line.
2013-01-30 10:05:07 -05:00
Brad King
175ed02207
ExternalData: Allow ()-groups in series match regex
...
Refactor use of the ExternalData_SERIES_MATCH value to avoid assuming
that it has no ()-groups that interfere with group indexing.
Extend the Module.ExternalData test to cover this case.
2013-01-30 10:05:07 -05:00
Brad King
4befecc77c
ExternalData: Add tests covering interfaces and errors
...
Add a Module.ExternalData test to verify data retrieval and test
argument DATA{} references.
Add a RunCMake.ExternalData test to verify error handling and automatic
transformation of a raw data to a content link and staged object.
2013-01-30 10:04:54 -05:00
Rolf Eike Beer
c6fed68ef8
CheckTypeSize: add a test for size of struct members
2012-08-14 21:14:33 +02:00
Rolf Eike Beer
8de3b3d13e
CheckCXXCompilerFlag test: make it a CMakeOnly test
2012-01-30 19:42:51 +01:00
Rolf Eike Beer
0541a03a4c
GenerateExportHeader test: add newlines before end of file
2012-01-18 00:01:08 +01:00
Stephen Kelly
08271ec7d3
Build each library only once instead of once for each test.
2011-10-09 17:41:47 +02:00
Stephen Kelly
c83cfd7a01
Remove unused define.
2011-10-09 17:39:24 +02:00
Stephen Kelly
93d8d1992e
Add some more unit tests.
2011-09-02 10:18:24 +02:00
Stephen Kelly
36d28f2e6b
Fix Compiler id variable name.
2011-08-24 20:21:30 +02:00
Stephen Kelly
99b2aabd46
Disable the tests for Watcom.
...
They are timing out and showing up on the dashboard.
2011-08-24 19:58:00 +02:00
Stephen Kelly
7ac0ab1f88
Quote paths in case there is a space in one of them.
2011-08-24 19:50:31 +02:00
Stephen Kelly
e253348ecd
Possibly fix test on HPUX.
2011-08-23 19:49:52 +02:00
Stephen Kelly
42154ec01c
Fix up the regex command for Intel.
2011-08-18 13:29:06 +02:00
Stephen Kelly
a147a069a5
Add some settings for non-truncation of test output.
2011-08-17 14:03:12 +02:00
Stephen Kelly
bf73e75941
Hopefully add version extraction for Intel.
2011-08-17 13:37:57 +02:00
Stephen Kelly
aa4f0b6ba8
Fix the version extraction regex for clang.
2011-08-17 13:32:48 +02:00
Stephen Kelly
a493d1a353
Test the correct cxx variable.
2011-08-17 13:32:20 +02:00
Stephen Kelly
b6ee2ee03a
Comment the test assertion for now
...
At least until I know which gcc versions do not pass.
2011-08-17 02:42:09 +02:00
Stephen Kelly
a9a8b9e8d1
Exclude win32 from hidden visibility checks.
2011-08-17 02:40:56 +02:00
Stephen Kelly
afae7a95a0
Start testing expected values for compiler flags.
...
Should help catch unhandled flag warnings so far not handled by
check_cxx_compiler_flag FAIL_REGEXen.
2011-08-17 02:36:22 +02:00
Stephen Kelly
10d8c446d5
Disable testing of deprecated macros.
...
It is not possible to test for it sanely across multiple ancient
compilers supported by cmake.
2011-08-14 15:45:36 +02:00
Stephen Kelly
c41c68bfa4
Try to error on deprecated on Intel and SunCC.
2011-08-13 23:49:17 +02:00
Stephen Kelly
c448b09ad3
Perform the -Werror test only once.
...
This way, the output of the test should be visible on CDash.
2011-08-13 22:57:55 +02:00
Stephen Kelly
fb88c6e32a
Add some messaging output to make remaining issues findable.
2011-08-12 11:39:21 +02:00
Stephen Kelly
01e9e983e3
Test -Werror instead of enabling it per compiler.
...
Maybe the Intel compiler supports it too.
2011-08-12 10:47:08 +02:00
Stephen Kelly
9aab2aa77f
Expect the tests to pass if hidden visibilty is not enabled.
2011-08-12 10:42:16 +02:00
Stephen Kelly
856bdb317b
Don't change the expected build result based on the platform.
...
Hopefully the compiler feature tests will cover those cases.
2011-08-12 00:30:31 +02:00
Stephen Kelly
e1f7ee3de7
Test for compiler features, instead of for specific platforms.
2011-08-11 19:06:23 +02:00
Stephen Kelly
9554e1013e
Split the deprecated available check from setting macro values.
2011-08-11 18:17:12 +02:00
Stephen Kelly
1590d5fe4f
Don't export methods on already exported classes.
...
This is always a mistake.
2011-08-11 10:55:12 +02:00
Stephen Kelly
1c6b41bee7
Remember to surround the other deprecated test in the Borland check.
2011-08-11 00:19:53 +02:00
Stephen Kelly
3f7e03643d
Export deprecated free methods too.
...
That way they can be linked to even after being deprecated.
2011-08-11 00:18:33 +02:00
Stephen Kelly
7924c1d6a8
Another attempt at fixing Borland.
...
Apparently it still needs to be exported, but only declspec(deprecated)
does not work.
2011-08-10 22:19:39 +02:00
Stephen Kelly
b4434591fb
Use the correct project name compiletest not compilefail
...
Should fix windows VS solution based builds.
2011-08-10 21:50:06 +02:00
Stephen Kelly
cff9493598
Only set the COMPILER_HAS_HIDDEN_VISIBILITY if GCC >= 4.2
...
Hearsay has it that before that version it didn't work properly.
Hopefully this will fix more dashboard builds.
2011-08-10 21:14:46 +02:00
Stephen Kelly
af443b830b
Set the CMAKE_RUNTIME_OUTPUT_DIRECTORY for windows builds.
2011-08-10 21:01:42 +02:00
Stephen Kelly
61726f867e
Only run the failure tests with gcc >= 4.2
2011-08-10 15:17:01 +02:00
Stephen Kelly
002ddf253c
Fix typo and tests failing as a result.
2011-08-10 14:58:00 +02:00
Stephen Kelly
44430379b7
Fix tests with clang.
2011-08-10 13:43:48 +02:00
Stephen Kelly
ffaa127b19
Test expected no-op instead of aborting the build.
...
Aborting causes make clean to fail if the executable is not created.
2011-08-10 11:54:35 +02:00
Stephen Kelly
6aca0e257b
Short-circuit the tests on unsupported compilers.
2011-08-10 10:41:38 +02:00
Stephen Kelly
706ed2b1b0
Add a newline at the end of the file.
...
Hopefully fix the test execution reported on CDash.
2011-08-09 15:02:48 +02:00
Stephen Kelly
8963716615
Add a newline at the end of the file.
...
Hopefully fix the test execution reported on CDash.
2011-08-09 00:18:00 +02:00
Stephen Kelly
def0a54e0a
Handle the case where the user changes the DEFINE_SYMBOL property.
...
This eases porting of KDE code.
2011-08-08 02:08:10 +02:00