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  0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5 (commit)
       via  944b90be60ab7888a76d76acbb0200f511db3d60 (commit)
       via  f605b92dec414311936ff62afb0ab7847f08974e (commit)
       via  3d8028841d6a257d0bd33b71518ae8800a716ffb (commit)
      from  dd6710e8d11bae9f595162c7583a81c97afdbe5e (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=0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5
commit 0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5
Merge: dd6710e 944b90b
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Thu Mar 1 15:49:53 2012 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Thu Mar 1 15:49:53 2012 -0500

    Merge topic 'while-testing' into next
    
    944b90b add testcases for while()/endwhile() errors
    f605b92 improve error message on a stray "endwhile()"
    3d80288 KWSys Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=944b90be60ab7888a76d76acbb0200f511db3d60
commit 944b90be60ab7888a76d76acbb0200f511db3d60
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Thu Mar 1 21:12:55 2012 +0100
Commit:     Rolf Eike Beer <e...@sf-mail.de>
CommitDate: Thu Mar 1 21:20:49 2012 +0100

    add testcases for while()/endwhile() errors

diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt
index fc1426e..aa4d52e 100644
--- a/Tests/CMakeTests/CMakeLists.txt
+++ b/Tests/CMakeTests/CMakeLists.txt
@@ -29,6 +29,7 @@ AddCMakeTest(CMakeMinimumRequired "")
 AddCMakeTest(CompilerIdVendor "")
 AddCMakeTest(ProcessorCount "")
 AddCMakeTest(PushCheckState "")
+AddCMakeTest(While "")
 
 AddCMakeTest(FileDownload "")
 set_property(TEST CMake.FileDownload PROPERTY
diff --git a/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake 
b/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake
new file mode 100644
index 0000000..886d98c
--- /dev/null
+++ b/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake
@@ -0,0 +1 @@
+endwhile(a)
diff --git a/Tests/CMakeTests/While-Endwhile-Alone.cmake 
b/Tests/CMakeTests/While-Endwhile-Alone.cmake
new file mode 100644
index 0000000..82c09a0
--- /dev/null
+++ b/Tests/CMakeTests/While-Endwhile-Alone.cmake
@@ -0,0 +1 @@
+endwhile()
diff --git a/Tests/CMakeTests/While-Endwhile-Mismatch.cmake 
b/Tests/CMakeTests/While-Endwhile-Mismatch.cmake
new file mode 100644
index 0000000..5c338d6
--- /dev/null
+++ b/Tests/CMakeTests/While-Endwhile-Mismatch.cmake
@@ -0,0 +1,2 @@
+while(a)
+endwhile(b)
diff --git a/Tests/CMakeTests/While-Missing-Argument.cmake 
b/Tests/CMakeTests/While-Missing-Argument.cmake
new file mode 100644
index 0000000..32eaa26
--- /dev/null
+++ b/Tests/CMakeTests/While-Missing-Argument.cmake
@@ -0,0 +1 @@
+while()
diff --git a/Tests/CMakeTests/While-Missing-Endwhile.cmake 
b/Tests/CMakeTests/While-Missing-Endwhile.cmake
new file mode 100644
index 0000000..1abaaaf
--- /dev/null
+++ b/Tests/CMakeTests/While-Missing-Endwhile.cmake
@@ -0,0 +1 @@
+while(a)
diff --git a/Tests/CMakeTests/WhileTest.cmake.in 
b/Tests/CMakeTests/WhileTest.cmake.in
new file mode 100644
index 0000000..4693f2d
--- /dev/null
+++ b/Tests/CMakeTests/WhileTest.cmake.in
@@ -0,0 +1,53 @@
+set(NUMBERS "")
+set(COUNT 0)
+
+while(COUNT LESS 200)
+    set(NUMBERS "${NUMBERS} ${COUNT}")
+    set(COUNT "2${COUNT}")
+
+    set(NCOUNT 3)
+    while(NCOUNT LESS 31)
+        set(NUMBERS "${NUMBERS} ${NCOUNT}")
+        set(NCOUNT "${NCOUNT}0")
+    endwhile()
+endwhile(COUNT LESS 200)
+
+if(NOT NUMBERS STREQUAL " 0 3 30 20 3 30")
+    message(SEND_ERROR "while loop nesting error, result: '${NUMBERS}'")
+endif()
+
+set(Missing-Argument-RESULT 1)
+set(Missing-Argument-STDERR ".*CMake Error at 
(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Argument.cmake:1 
\\(while\\):.*while called with incorrect number of arguments.*")
+
+include("@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake")
+check_cmake_test(While
+  Missing-Argument
+)
+
+set(Missing-Endwhile-RESULT 1)
+set(Missing-Endwhile-STDERR ".*CMake Error in 
(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Endwhile.cmake:.*A logical block 
opening on the 
line.*(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Endwhile.cmake:1 
\\(while\\).*is not closed\\..*")
+
+check_cmake_test(While
+  Missing-Endwhile
+)
+
+set(Endwhile-Mismatch-RESULT 0)
+set(Endwhile-Mismatch-STDERR ".*CMake Warning \\(dev\\) in 
(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Mismatch.cmake:.*A logical block 
opening on the 
line.*(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Mismatch.cmake:1 
\\(while\\).*with mis-matching arguments\\..*")
+
+check_cmake_test(While
+  Endwhile-Mismatch
+)
+
+set(Endwhile-Alone-RESULT 1)
+set(Endwhile-Alone-STDERR ".*CMake Error at 
(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Alone.cmake:1 \\(endwhile\\):.*An 
ENDWHILE command was found outside of a proper WHILE 
ENDWHILE.*structure\\.\n.*$")
+
+check_cmake_test(While
+  Endwhile-Alone
+)
+
+set(Endwhile-Alone-Args-RESULT 1)
+set(Endwhile-Alone-Args-STDERR ".*CMake Error at 
(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Alone-Args.cmake:1 
\\(endwhile\\):.*An ENDWHILE command was found outside of a proper WHILE 
ENDWHILE.*structure\\.  Or its arguments did not.*$")
+
+check_cmake_test(While
+  Endwhile-Alone-Args
+)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f605b92dec414311936ff62afb0ab7847f08974e
commit f605b92dec414311936ff62afb0ab7847f08974e
Author:     Rolf Eike Beer <e...@sf-mail.de>
AuthorDate: Thu Mar 1 19:32:38 2012 +0100
Commit:     Rolf Eike Beer <e...@sf-mail.de>
CommitDate: Thu Mar 1 21:20:48 2012 +0100

    improve error message on a stray "endwhile()"

diff --git a/Source/cmEndWhileCommand.cxx b/Source/cmEndWhileCommand.cxx
index bb4d40a..abb9e5e 100644
--- a/Source/cmEndWhileCommand.cxx
+++ b/Source/cmEndWhileCommand.cxx
@@ -12,12 +12,21 @@
 #include "cmEndWhileCommand.h"
 
 bool cmEndWhileCommand
-::InvokeInitialPass(std::vector<cmListFileArgument> const&,
+::InvokeInitialPass(std::vector<cmListFileArgument> const& args,
                     cmExecutionStatus &)
 {
-  this->SetError("An ENDWHILE command was found outside of a proper "
-                 "WHILE ENDWHILE structure. Or its arguments did not "
-                 "match the opening WHILE command.");
+  if (args.empty())
+    {
+    this->SetError("An ENDWHILE command was found outside of a proper "
+                   "WHILE ENDWHILE structure.");
+    }
+  else
+    {
+    this->SetError("An ENDWHILE command was found outside of a proper "
+                   "WHILE ENDWHILE structure. Or its arguments did not "
+                   "match the opening WHILE command.");
+    }
+
   return false;
 }
 
diff --git a/Source/cmEndWhileCommand.h b/Source/cmEndWhileCommand.h
index 8e0b488..61ac7e4 100644
--- a/Source/cmEndWhileCommand.h
+++ b/Source/cmEndWhileCommand.h
@@ -34,7 +34,7 @@ public:
    * Override cmCommand::InvokeInitialPass to get arguments before
    * expansion.
    */
-  virtual bool InvokeInitialPass(std::vector<cmListFileArgument> const&,
+  virtual bool InvokeInitialPass(std::vector<cmListFileArgument> const& args,
                                  cmExecutionStatus &status);
   
   /**

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

Summary of changes:
 Source/cmEndWhileCommand.cxx                     |   17 +++++--
 Source/cmEndWhileCommand.h                       |    2 +-
 Source/kwsys/kwsysDateStamp.cmake                |    4 +-
 Tests/CMakeTests/CMakeLists.txt                  |    1 +
 Tests/CMakeTests/While-Endwhile-Alone-Args.cmake |    1 +
 Tests/CMakeTests/While-Endwhile-Alone.cmake      |    1 +
 Tests/CMakeTests/While-Endwhile-Mismatch.cmake   |    2 +
 Tests/CMakeTests/While-Missing-Argument.cmake    |    1 +
 Tests/CMakeTests/While-Missing-Endwhile.cmake    |    1 +
 Tests/CMakeTests/WhileTest.cmake.in              |   53 ++++++++++++++++++++++
 10 files changed, 76 insertions(+), 7 deletions(-)
 create mode 100644 Tests/CMakeTests/While-Endwhile-Alone-Args.cmake
 create mode 100644 Tests/CMakeTests/While-Endwhile-Alone.cmake
 create mode 100644 Tests/CMakeTests/While-Endwhile-Mismatch.cmake
 create mode 100644 Tests/CMakeTests/While-Missing-Argument.cmake
 create mode 100644 Tests/CMakeTests/While-Missing-Endwhile.cmake
 create mode 100644 Tests/CMakeTests/WhileTest.cmake.in


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to