[Cmake-commits] CMake branch, next, updated. v2.8.12.1-7185-g556a055

Brad King brad.king at kitware.com
Mon Jan 20 13:49:58 EST 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  556a05531f1b324a0c4ee117a0f252a2135365c1 (commit)
       via  d4ca30ae150ea83c91bb75527a4152ce87e289e5 (commit)
       via  392a6553f9fe9908d5d7c363ad013003d965e5e0 (commit)
      from  27164dcb470b88130bc50d0395899dcef6e8265d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=556a05531f1b324a0c4ee117a0f252a2135365c1
commit 556a05531f1b324a0c4ee117a0f252a2135365c1
Merge: 27164dc d4ca30a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jan 20 13:49:57 2014 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jan 20 13:49:57 2014 -0500

    Merge topic 'improve-Tests-RunCMake' into next
    
    d4ca30ae Tests/RunCMake: Add function to run a specified command-line
    392a6553 Tests/RunCMake: Move documentation to a README.rst


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d4ca30ae150ea83c91bb75527a4152ce87e289e5
commit d4ca30ae150ea83c91bb75527a4152ce87e289e5
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jan 20 13:46:51 2014 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jan 20 13:46:51 2014 -0500

    Tests/RunCMake: Add function to run a specified command-line
    
    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.

diff --git a/Tests/RunCMake/README.rst b/Tests/RunCMake/README.rst
index d4159a5..536cff2 100644
--- a/Tests/RunCMake/README.rst
+++ b/Tests/RunCMake/README.rst
@@ -16,6 +16,12 @@ but do not actually build anything.  To add a test:
    where ``SubTest1`` through ``SubTestN`` are sub-test names each
    corresponding to an independent CMake run and project configuration.
 
+   One may also add calls of the form::
+
+    run_cmake_command(SubTestI ${CMAKE_COMMAND} ...)
+
+   to fully customize the test case command-line.
+
 4. Create file ``<Test>/CMakeLists.txt`` in the directory containing::
 
     cmake_minimum_required(...)
diff --git a/Tests/RunCMake/RunCMake.cmake b/Tests/RunCMake/RunCMake.cmake
index 5c7c05c..1d1c523 100644
--- a/Tests/RunCMake/RunCMake.cmake
+++ b/Tests/RunCMake/RunCMake.cmake
@@ -39,17 +39,27 @@ function(run_cmake test)
   if(APPLE)
     list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW)
   endif()
-  execute_process(
-    COMMAND ${CMAKE_COMMAND} "${RunCMake_TEST_SOURCE_DIR}"
-              -G "${RunCMake_GENERATOR}"
-              -T "${RunCMake_GENERATOR_TOOLSET}"
-              -DRunCMake_TEST=${test}
-              ${RunCMake_TEST_OPTIONS}
-    WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}"
-    OUTPUT_VARIABLE actual_stdout
-    ERROR_VARIABLE actual_stderr
-    RESULT_VARIABLE actual_result
-    )
+  if(RunCMake_TEST_COMMAND)
+    execute_process(
+      COMMAND ${RunCMake_TEST_COMMAND}
+      WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}"
+      OUTPUT_VARIABLE actual_stdout
+      ERROR_VARIABLE actual_stderr
+      RESULT_VARIABLE actual_result
+      )
+  else()
+    execute_process(
+      COMMAND ${CMAKE_COMMAND} "${RunCMake_TEST_SOURCE_DIR}"
+                -G "${RunCMake_GENERATOR}"
+                -T "${RunCMake_GENERATOR_TOOLSET}"
+                -DRunCMake_TEST=${test}
+                ${RunCMake_TEST_OPTIONS}
+      WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}"
+      OUTPUT_VARIABLE actual_stdout
+      ERROR_VARIABLE actual_stderr
+      RESULT_VARIABLE actual_result
+      )
+  endif()
   set(msg "")
   if(NOT "${actual_result}" STREQUAL "${expect_result}")
     set(msg "${msg}Result is [${actual_result}], not [${expect_result}].\n")
@@ -86,3 +96,8 @@ function(run_cmake test)
     message(STATUS "${test} - PASSED")
   endif()
 endfunction()
+
+function(run_cmake_command test)
+  set(RunCMake_TEST_COMMAND "${ARGN}")
+  run_cmake(${test})
+endfunction()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=392a6553f9fe9908d5d7c363ad013003d965e5e0
commit 392a6553f9fe9908d5d7c363ad013003d965e5e0
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jan 20 13:44:27 2014 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jan 20 13:46:24 2014 -0500

    Tests/RunCMake: Move documentation to a README.rst

diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 1c23bcd..fc730a7 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -1,39 +1,4 @@
-# This directory contains tests that run CMake to configure a project
-# but do not actually build anything.  To add a test:
-#
-# 1.) Add a subdirectory named for the test.
-#
-# 2.) Call add_RunCMake_test and pass the test directory name.
-#
-# 3.) Create a RunCMakeTest.cmake script in the directory containing
-#   include(RunCMake)
-#   run_cmake(SubTest1)
-#   ...
-#   run_cmake(SubTestN)
-# where SubTest1..SubTestN are sub-test names each corresponding to
-# an independent CMake run and project configuration.
-#
-# 3.) Create a CMakeLists.txt file in the directory containing
-#   cmake_minimum_required(...)
-#   project(${RunCMake_TEST} NONE) # or languages needed
-#   include(${RunCMake_TEST}.cmake)
-# where "${RunCMake_TEST}" is literal.  A value for RunCMake_TEST
-# will be passed to CMake by the run_cmake macro when running each
-# sub-test.
-#
-# 4.) Create a <SubTest>.cmake file for each sub-test named above
-# containing the actual test code.  Optionally create files
-# containing expected test results:
-#   <SubTest>-result.txt  = Process result expected if not "0"
-#   <SubTest>-stdout.txt  = Regex matching expected stdout content
-#   <SubTest>-stderr.txt  = Regex matching expected stderr content
-#   <SubTest>-check.cmake = Custom result check
-# Note that trailing newlines will be stripped from actual and expected test
-# output before matching against the stdout and stderr expressions.
-# The code in <SubTest>-check.cmake may use variables
-#   RunCMake_TEST_SOURCE_DIR = Top of test source tree
-#   RunCMake_TEST_BINARY_DIR = Top of test binary tree
-# and an failure must store a message in RunCMake_TEST_FAILED.
+# See adjacent README.rst for documentation of this test infrastructure.
 
 macro(add_RunCMake_test test)
   add_test(RunCMake.${test} ${CMAKE_CMAKE_COMMAND}
diff --git a/Tests/RunCMake/README.rst b/Tests/RunCMake/README.rst
new file mode 100644
index 0000000..d4159a5
--- /dev/null
+++ b/Tests/RunCMake/README.rst
@@ -0,0 +1,51 @@
+This directory contains tests that run CMake to configure a project
+but do not actually build anything.  To add a test:
+
+1. Add a subdirectory named for the test, say ``<Test>/``.
+
+2. In ``./CMakeLists.txt`` call ``add_RunCMake_test`` and pass the
+   test directory name ``<Test>``.
+
+3. Create script ``<Test>/RunCMakeTest.cmake`` in the directory containing::
+
+    include(RunCMake)
+    run_cmake(SubTest1)
+    ...
+    run_cmake(SubTestN)
+
+   where ``SubTest1`` through ``SubTestN`` are sub-test names each
+   corresponding to an independent CMake run and project configuration.
+
+4. Create file ``<Test>/CMakeLists.txt`` in the directory containing::
+
+    cmake_minimum_required(...)
+    project(${RunCMake_TEST} NONE) # or languages needed
+    include(${RunCMake_TEST}.cmake)
+
+   where ``${RunCMake_TEST}`` is literal.  A value for ``RunCMake_TEST``
+   will be passed to CMake by the ``run_cmake`` macro when running each
+   sub-test.
+
+5. Create a ``<Test>/<SubTest>.cmake`` file for each sub-test named
+   above containing the actual test code.  Optionally create files
+   containing expected test results:
+
+   ``<SubTest>-result.txt``
+    Process result expected if not "0"
+   ``<SubTest>-stdout.txt``
+    Regex matching expected stdout content
+   ``<SubTest>-stderr.txt``
+    Regex matching expected stderr content
+   ``<SubTest>-check.cmake``
+    Custom result check.
+
+   Note that trailing newlines will be stripped from actual and expected
+   test output before matching against the stdout and stderr expressions.
+   The code in ``<SubTest>-check.cmake`` may use variables
+
+   ``RunCMake_TEST_SOURCE_DIR``
+    Top of test source tree
+   ``RunCMake_TEST_BINARY_DIR``
+    Top of test binary tree
+
+   and an failure must store a message in ``RunCMake_TEST_FAILED``.

-----------------------------------------------------------------------

Summary of changes:
 Tests/RunCMake/CMakeLists.txt |   37 +-------------------------
 Tests/RunCMake/README.rst     |   57 +++++++++++++++++++++++++++++++++++++++++
 Tests/RunCMake/RunCMake.cmake |   37 ++++++++++++++++++--------
 3 files changed, 84 insertions(+), 47 deletions(-)
 create mode 100644 Tests/RunCMake/README.rst


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list