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  3542ea29b292696be6bd281523427d3edef06fd3 (commit)
       via  def90d5fa5d6a69abd4975d9fe4d07b0c21c6712 (commit)
       via  cc144ebfd8b3a7b89e07c3b22b6a9e8540e5d0e2 (commit)
      from  64823832e250189e6a6a72a598425ce54f270b19 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3542ea29b292696be6bd281523427d3edef06fd3
commit 3542ea29b292696be6bd281523427d3edef06fd3
Merge: 6482383 def90d5
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Sep 29 10:12:12 2015 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Sep 29 10:12:12 2015 -0400

    Merge topic 'update-kwsys' into next
    
    def90d5f Merge branch 'upstream-kwsys' into update-kwsys
    cc144ebf KWSys 2015-09-28 (2089567a)


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=def90d5fa5d6a69abd4975d9fe4d07b0c21c6712
commit def90d5fa5d6a69abd4975d9fe4d07b0c21c6712
Merge: f23ab1a cc144eb
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Sep 29 10:10:03 2015 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Sep 29 10:10:03 2015 -0400

    Merge branch 'upstream-kwsys' into update-kwsys


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cc144ebfd8b3a7b89e07c3b22b6a9e8540e5d0e2
commit cc144ebfd8b3a7b89e07c3b22b6a9e8540e5d0e2
Author:     KWSys Robot <kwro...@kitware.com>
AuthorDate: Mon Sep 28 09:29:33 2015 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Sep 29 10:09:57 2015 -0400

    KWSys 2015-09-28 (2089567a)
    
    Extract upstream KWSys using the following shell commands.
    
    $ git archive --prefix=upstream-kwsys/ 2089567a | tar x
    $ git shortlog --no-merges --abbrev=8 --format='%h %s' dc4e4a55..2089567a
    Vitaly Baranov (1):
          2089567a SystemTools: Fix GetPath to not affect existing output 
vector entries

diff --git a/SystemTools.cxx b/SystemTools.cxx
index 80289b8..262af27 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -408,6 +408,7 @@ class SystemToolsPathCaseMap:
 // adds the elements of the env variable path to the arg passed in
 void SystemTools::GetPath(std::vector<std::string>& path, const char* env)
 {
+  size_t const old_size = path.size();
 #if defined(_WIN32) && !defined(__CYGWIN__)
   const char pathSep = ';';
 #else
@@ -445,7 +446,7 @@ void SystemTools::GetPath(std::vector<std::string>& path, 
const char* env)
       done = true;
       }
     }
-  for(std::vector<std::string>::iterator i = path.begin();
+  for(std::vector<std::string>::iterator i = path.begin() + old_size;
       i != path.end(); ++i)
     {
     SystemTools::ConvertToUnixSlashes(*i);
diff --git a/testSystemTools.cxx b/testSystemTools.cxx
index e14d2fc..a0f904f 100644
--- a/testSystemTools.cxx
+++ b/testSystemTools.cxx
@@ -28,6 +28,7 @@
 #include <testSystemTools.h>
 
 #include <iostream>
+#include <sstream>
 #include <string.h> /* strcmp */
 #if defined(_WIN32) && !defined(__CYGWIN__)
 # include <io.h> /* _umask (MSVC) / umask (Borland) */
@@ -790,6 +791,66 @@ static bool CheckCollapsePath()
   return res;
 }
 
+static std::string StringVectorToString(const std::vector<std::string>& vec)
+{
+  std::stringstream ss;
+  ss << "vector(";
+  for (std::vector<std::string>::const_iterator i = vec.begin();
+       i != vec.end(); ++i)
+    {
+    if (i != vec.begin())
+      {
+      ss << ", ";
+      }
+    ss << *i;
+    }
+  ss << ")";
+  return ss.str();
+}
+
+static bool CheckGetPath()
+{
+  const char* envName = "S";
+#ifdef _WIN32
+  const char* envValue = "C:\\Somewhere\\something;D:\\Temp";
+#else
+  const char* envValue = "/Somewhere/something:/tmp";
+#endif
+  const char* registryPath = "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MyApp; MyKey]";
+
+  std::vector<std::string> originalPathes;
+  originalPathes.push_back(registryPath);
+
+  std::vector<std::string> expectedPathes;
+  expectedPathes.push_back(registryPath);
+#ifdef _WIN32
+  expectedPathes.push_back("C:/Somewhere/something");
+  expectedPathes.push_back("D:/Temp");
+#else
+  expectedPathes.push_back("/Somewhere/something");
+  expectedPathes.push_back("/tmp");
+#endif
+
+  bool res = true;
+  res &= CheckPutEnv(std::string(envName) + "=" + envValue, envName, envValue);
+
+  std::vector<std::string> pathes = originalPathes;
+  kwsys::SystemTools::GetPath(pathes, envName);
+
+  if (pathes != expectedPathes)
+    {
+    std::cerr <<
+      "GetPath(" << StringVectorToString(originalPathes) <<
+      ", " << envName << ")  yielded " << StringVectorToString(pathes) <<
+      " instead of " << StringVectorToString(expectedPathes) <<
+      std::endl;
+    res = false;
+    }
+
+  res &= CheckUnPutEnv(envName, envName);
+  return res;
+}
+
 //----------------------------------------------------------------------------
 int testSystemTools(int, char*[])
 {
@@ -825,5 +886,7 @@ int testSystemTools(int, char*[])
 
   res &= CheckCollapsePath();
 
+  res &= CheckGetPath();
+
   return res ? 0 : 1;
 }

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

Summary of changes:
 Source/kwsys/SystemTools.cxx     |    3 +-
 Source/kwsys/testSystemTools.cxx |   63 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+), 1 deletion(-)


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

Reply via email to