You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ne...@apache.org on 2017/04/11 20:35:30 UTC

[1/6] mesos git commit: Fixed whitespace in libprocess.

Repository: mesos
Updated Branches:
  refs/heads/master 6c1e20c0f -> 50583f15f


Fixed whitespace in libprocess.

Review: https://reviews.apache.org/r/57510


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/fab10935
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/fab10935
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/fab10935

Branch: refs/heads/master
Commit: fab1093595530343202522b511f73c65e84e4227
Parents: 6c1e20c
Author: Neil Conway <ne...@gmail.com>
Authored: Fri Mar 10 11:46:55 2017 -0500
Committer: Neil Conway <ne...@gmail.com>
Committed: Tue Apr 11 13:11:08 2017 -0700

----------------------------------------------------------------------
 3rdparty/libprocess/src/clock.cpp   | 2 +-
 3rdparty/libprocess/src/help.cpp    | 2 +-
 3rdparty/libprocess/src/process.cpp | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/fab10935/3rdparty/libprocess/src/clock.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/clock.cpp b/3rdparty/libprocess/src/clock.cpp
index 16e0b5e..519c69e 100644
--- a/3rdparty/libprocess/src/clock.cpp
+++ b/3rdparty/libprocess/src/clock.cpp
@@ -378,7 +378,7 @@ void Clock::advance(const Duration& duration)
       *clock::advanced += duration;
       *clock::current += duration;
 
-      VLOG(2) << "Clock advanced ("  << duration << ") to " << *clock::current;
+      VLOG(2) << "Clock advanced (" << duration << ") to " << *clock::current;
 
       // Schedule another "tick" if necessary. Only "ticks" that
       // fire immediately will be scheduled here, since the clock

http://git-wip-us.apache.org/repos/asf/mesos/blob/fab10935/3rdparty/libprocess/src/help.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/help.cpp b/3rdparty/libprocess/src/help.cpp
index d3c98a7..4e1faff 100644
--- a/3rdparty/libprocess/src/help.cpp
+++ b/3rdparty/libprocess/src/help.cpp
@@ -239,7 +239,7 @@ Future<http::Response> Help::help(const http::Request& request)
     document += "## `/" + id.get() + "` ##\n";
     foreachkey (const string& name, helps[id.get()]) {
       const string path = getUsagePath(id.get(), name);
-      document += "> [/" +  path + "][" + path + "]\n";
+      document += "> [/" + path + "][" + path + "]\n";
       references += "[" + path + "]: " + path + "\n";
     }
   } else {                       // http://ip:port/help/id/name

http://git-wip-us.apache.org/repos/asf/mesos/blob/fab10935/3rdparty/libprocess/src/process.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/process.cpp b/3rdparty/libprocess/src/process.cpp
index d0cba0c..92efa91 100644
--- a/3rdparty/libprocess/src/process.cpp
+++ b/3rdparty/libprocess/src/process.cpp
@@ -2735,7 +2735,7 @@ long ProcessManager::init_threads()
     if (number.isSome() && number.get() > 0L && number.get() <= maxval) {
       VLOG(1) << "Overriding default number of worker threads "
               << num_worker_threads << ", using the value "
-              <<  env_var << "=" << number.get() << " instead";
+              << env_var << "=" << number.get() << " instead";
       num_worker_threads = number.get();
     } else {
       LOG(WARNING) << "Ignoring invalid value " << value.get()


[6/6] mesos git commit: Fixed typos in comments.

Posted by ne...@apache.org.
Fixed typos in comments.

Review: https://reviews.apache.org/r/57714


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/50583f15
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/50583f15
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/50583f15

Branch: refs/heads/master
Commit: 50583f15f88fe251266dfc4093389453c13dd9ad
Parents: 5167828
Author: Neil Conway <ne...@gmail.com>
Authored: Thu Mar 16 14:58:34 2017 -0700
Committer: Neil Conway <ne...@gmail.com>
Committed: Tue Apr 11 13:12:09 2017 -0700

----------------------------------------------------------------------
 src/master/allocator/mesos/hierarchical.cpp | 2 +-
 src/tests/hierarchical_allocator_tests.cpp  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/50583f15/src/master/allocator/mesos/hierarchical.cpp
----------------------------------------------------------------------
diff --git a/src/master/allocator/mesos/hierarchical.cpp b/src/master/allocator/mesos/hierarchical.cpp
index ff9e234..051f749 100644
--- a/src/master/allocator/mesos/hierarchical.cpp
+++ b/src/master/allocator/mesos/hierarchical.cpp
@@ -1514,7 +1514,7 @@ void HierarchicalAllocatorProcess::__allocate()
   hashmap<SlaveID, Resources> offeredSharedResources;
 
   // Quota comes first and fair share second. Here we process only those
-  // roles, for which quota is set (quota'ed roles). Such roles form a
+  // roles for which quota is set (quota'ed roles). Such roles form a
   // special allocation group with a dedicated sorter.
   foreach (const SlaveID& slaveId, slaveIds) {
     foreach (const string& role, quotaRoleSorter->sort()) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/50583f15/src/tests/hierarchical_allocator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/hierarchical_allocator_tests.cpp b/src/tests/hierarchical_allocator_tests.cpp
index e343dc3..33e7b45 100644
--- a/src/tests/hierarchical_allocator_tests.cpp
+++ b/src/tests/hierarchical_allocator_tests.cpp
@@ -4247,7 +4247,7 @@ TEST_F(HierarchicalAllocatorTest, DisproportionateQuotaVsAllocation)
   Quota quota = createQuota(QUOTA_ROLE, quotaResources);
   allocator->setQuota(QUOTA_ROLE, quota);
 
-  // Register two frameworks where on is using a role with quota.
+  // Register two frameworks where one is using a role with quota.
   FrameworkInfo framework1 = createFrameworkInfo({QUOTA_ROLE});
   FrameworkInfo framework2 = createFrameworkInfo({NO_QUOTA_ROLE});
   allocator->addFramework(framework1.id(), framework1, {}, true);


[3/6] mesos git commit: Fixed whitespace in Mesos.

Posted by ne...@apache.org.
Fixed whitespace in Mesos.

Review: https://reviews.apache.org/r/57512


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/f7c5dd1d
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/f7c5dd1d
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/f7c5dd1d

Branch: refs/heads/master
Commit: f7c5dd1d696d8af0b4caad617ceca1af3733fef2
Parents: 918a892
Author: Neil Conway <ne...@gmail.com>
Authored: Fri Mar 10 11:47:27 2017 -0500
Committer: Neil Conway <ne...@gmail.com>
Committed: Tue Apr 11 13:11:20 2017 -0700

----------------------------------------------------------------------
 src/common/command_utils.cpp                                     | 2 +-
 src/common/http.cpp                                              | 2 +-
 src/docker/docker.cpp                                            | 2 +-
 src/linux/fs.cpp                                                 | 2 +-
 src/master/master.cpp                                            | 2 +-
 src/slave/containerizer/docker.cpp                               | 2 +-
 src/slave/containerizer/mesos/containerizer.cpp                  | 4 ++--
 src/slave/containerizer/mesos/isolators/network/cni/cni.cpp      | 2 +-
 src/slave/containerizer/mesos/isolators/network/port_mapping.cpp | 4 ++--
 src/slave/containerizer/mesos/provisioner/backends/overlay.cpp   | 2 +-
 src/slave/http.cpp                                               | 2 +-
 src/tests/api_tests.cpp                                          | 4 ++--
 src/tests/master_allocator_tests.cpp                             | 2 +-
 src/tests/persistent_volume_endpoints_tests.cpp                  | 4 ++--
 src/uri/fetcher.cpp                                              | 2 +-
 15 files changed, 19 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/common/command_utils.cpp
----------------------------------------------------------------------
diff --git a/src/common/command_utils.cpp b/src/common/command_utils.cpp
index d5f0dff..c50be76 100644
--- a/src/common/command_utils.cpp
+++ b/src/common/command_utils.cpp
@@ -191,7 +191,7 @@ Future<string> sha512(const Path& input)
       vector<string> tokens = strings::tokenize(output, " ");
       if (tokens.size() < 2) {
         return Failure(
-            "Failed to parse '" + output + "' from '" + cmd +  "' command");
+            "Failed to parse '" + output + "' from '" + cmd + "' command");
       }
 
       // TODO(jojy): Check the size of tokens[0].

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/common/http.cpp
----------------------------------------------------------------------
diff --git a/src/common/http.cpp b/src/common/http.cpp
index 92f0636..167dce2 100644
--- a/src/common/http.cpp
+++ b/src/common/http.cpp
@@ -935,7 +935,7 @@ process::Future<bool> authorizeEndpoint(
 
   LOG(INFO) << "Authorizing principal '"
             << (principal.isSome() ? stringify(principal.get()) : "ANY")
-            << "' to " <<  method
+            << "' to " << method
             << " the '" << endpoint << "' endpoint";
 
   return authorizer.get()->authorized(request);

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/docker/docker.cpp
----------------------------------------------------------------------
diff --git a/src/docker/docker.cpp b/src/docker/docker.cpp
index 3b934d9..236443e 100755
--- a/src/docker/docker.cpp
+++ b/src/docker/docker.cpp
@@ -1534,7 +1534,7 @@ Future<Docker::Image> Docker::___pull(
   Option<int> status = s.status().get();
 
   if (!status.isSome()) {
-    return Failure("No status found from '" +  cmd + "'");
+    return Failure("No status found from '" + cmd + "'");
   } else if (status.get() != 0) {
     return io::read(s.err().get())
       .then(lambda::bind(&failure<Image>, cmd, status.get(), lambda::_1));

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/linux/fs.cpp
----------------------------------------------------------------------
diff --git a/src/linux/fs.cpp b/src/linux/fs.cpp
index c0b8cc3..944509f 100644
--- a/src/linux/fs.cpp
+++ b/src/linux/fs.cpp
@@ -555,7 +555,7 @@ Try<Nothing> copyDeviceNode(const string& source, const string& target)
 
   Try<Nothing> mknod = os::mknod(target, mode.get(), dev.get());
   if (mknod.isError()) {
-    return Error("Failed to create device:" +  mknod.error());
+    return Error("Failed to create device:" + mknod.error());
   }
 
   Try<Nothing> chmod = os::chmod(target, mode.get());

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/master/master.cpp
----------------------------------------------------------------------
diff --git a/src/master/master.cpp b/src/master/master.cpp
index c1f3c4f..0f4c64c 100644
--- a/src/master/master.cpp
+++ b/src/master/master.cpp
@@ -6113,7 +6113,7 @@ void Master::updateSlave(
   Slave* slave = CHECK_NOTNULL(slaves.registered.get(slaveId));
 
   LOG(INFO) << "Received update of agent " << *slave << " with total"
-            << " oversubscribed resources " <<  oversubscribedResources;
+            << " oversubscribed resources " << oversubscribedResources;
 
   // NOTE: We must *first* update the agent's resources before we
   // recover the resources. If we recovered the resources first,

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/slave/containerizer/docker.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/docker.cpp b/src/slave/containerizer/docker.cpp
index be1a298..06751f1 100644
--- a/src/slave/containerizer/docker.cpp
+++ b/src/slave/containerizer/docker.cpp
@@ -768,7 +768,7 @@ Try<Nothing> DockerContainerizerProcess::checkpoint(
           container->executor.executor_id(),
           containerId);
 
-    LOG(INFO) << "Checkpointing pid " << pid << " to '" << path <<  "'";
+    LOG(INFO) << "Checkpointing pid " << pid << " to '" << path << "'";
 
     return slave::state::checkpoint(path, stringify(pid));
   }

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/slave/containerizer/mesos/containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp
index bc611a5..56db7eb 100644
--- a/src/slave/containerizer/mesos/containerizer.cpp
+++ b/src/slave/containerizer/mesos/containerizer.cpp
@@ -1596,7 +1596,7 @@ Future<bool> MesosContainerizerProcess::_launch(
         containerId);
 
     LOG(INFO) << "Checkpointing container's forked pid " << pid
-              << " to '" << path <<  "'";
+              << " to '" << path << "'";
 
     Try<Nothing> checkpointed =
       slave::state::checkpoint(path, stringify(pid));
@@ -2354,7 +2354,7 @@ void MesosContainerizerProcess::______destroy(
       path::join(runtimePath, containerizer::paths::TERMINATION_FILE);
 
     LOG(INFO) << "Checkpointing termination state to nested container's"
-              << " runtime directory '" << terminationPath <<  "'";
+              << " runtime directory '" << terminationPath << "'";
 
     Try<Nothing> checkpointed =
       slave::state::checkpoint(terminationPath, termination);

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
index d03c14c..3aecd8c 100644
--- a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
+++ b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
@@ -1727,7 +1727,7 @@ Try<JSON::Object> NetworkCniIsolatorProcess::getNetworkConfigJSON(
   if (_networkConfigs.isError()) {
       return Error(
           "Encountered error while loading CNI config during "
-          "a cache-miss for CNI network '" + network +"': " +
+          "a cache-miss for CNI network '" + network + "': " +
           _networkConfigs.error());
   }
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp b/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
index 433299c..cd008aa 100644
--- a/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
+++ b/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
@@ -1157,7 +1157,7 @@ int PortMappingStatistics::execute()
           Try<int64_t> val = numify<int64_t>(tokens[i]);
 
           if (val.isError()) {
-            cerr << "Failed to parse the statistics in " <<  fields[0]
+            cerr << "Failed to parse the statistics in " << fields[0]
                  << val.error() << endl;
             return 1;
           }
@@ -2904,7 +2904,7 @@ Future<ContainerLimitation> PortMappingIsolatorProcess::watch(
   if (unmanaged.contains(containerId)) {
     LOG(WARNING) << "Ignoring watch for unmanaged container " << containerId;
   } else if (!infos.contains(containerId)) {
-    LOG(WARNING) << "Ignoring watch for unknown container "  << containerId;
+    LOG(WARNING) << "Ignoring watch for unknown container " << containerId;
   }
 
   // Currently, we always return a pending future because limitation

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp b/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp
index 8bdcc52..9a92c85 100644
--- a/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp
+++ b/src/slave/containerizer/mesos/provisioner/backends/overlay.cpp
@@ -272,7 +272,7 @@ Future<bool> OverlayBackendProcess::destroy(
         // TODO(zhitao): This should be converted into a failure after
         // deprecation cycle started by 1.1.0.
         VLOG(1) << "Cannot find symlink to temporary directory '" << tempLink
-                <<"' for image links";
+                << "' for image links";
 
         return true;
       }

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/slave/http.cpp
----------------------------------------------------------------------
diff --git a/src/slave/http.cpp b/src/slave/http.cpp
index b78854b..468cf33 100644
--- a/src/slave/http.cpp
+++ b/src/slave/http.cpp
@@ -521,7 +521,7 @@ Future<Response> Slave::Http::_api(
              call.type() == mesos::agent::Call::ATTACH_CONTAINER_INPUT) {
     return UnsupportedMediaType(
         string("Expecting 'Content-Type' to be ") + APPLICATION_RECORDIO +
-        " for "  + stringify(call.type()) + " call");
+        " for " + stringify(call.type()) + " call");
   }
 
   LOG(INFO) << "Processing call " << call.type();

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/tests/api_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/api_tests.cpp b/src/tests/api_tests.cpp
index 29ae1bc..b801c8c 100644
--- a/src/tests/api_tests.cpp
+++ b/src/tests/api_tests.cpp
@@ -4114,7 +4114,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(AgentAPITest, LaunchNestedContainerSession)
 
   string output = "output";
   string error = "error";
-  string command = "printf "  + output + " && printf " + error + " 1>&2";
+  string command = "printf " + output + " && printf " + error + " 1>&2";
 
   v1::agent::Call call;
   call.set_type(v1::agent::Call::LAUNCH_NESTED_CONTAINER_SESSION);
@@ -4331,7 +4331,7 @@ TEST_P_TEMP_DISABLED_ON_WINDOWS(
 
   string output = "output";
   string error = "error";
-  string command = "printf "  + output + " && printf " + error + " 1>&2";
+  string command = "printf " + output + " && printf " + error + " 1>&2";
 
   v1::agent::Call call;
   call.set_type(v1::agent::Call::LAUNCH_NESTED_CONTAINER_SESSION);

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/tests/master_allocator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_allocator_tests.cpp b/src/tests/master_allocator_tests.cpp
index 9f37502..119e318 100644
--- a/src/tests/master_allocator_tests.cpp
+++ b/src/tests/master_allocator_tests.cpp
@@ -129,7 +129,7 @@ public:
 
   virtual void DescribeNegationTo(::std::ostream* os) const
   {
-    *os << "does not contain " << cpus << " cpus and "  << mem << " mem";
+    *os << "does not contain " << cpus << " cpus and " << mem << " mem";
   }
 
 private:

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/tests/persistent_volume_endpoints_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/persistent_volume_endpoints_tests.cpp b/src/tests/persistent_volume_endpoints_tests.cpp
index d5fcdbf..1237d08 100644
--- a/src/tests/persistent_volume_endpoints_tests.cpp
+++ b/src/tests/persistent_volume_endpoints_tests.cpp
@@ -971,7 +971,7 @@ TEST_F(PersistentVolumeEndpointsTest, GoodCreateACLMultipleRoles)
   // creation of a persistent volume.
   slave::Flags slaveFlags = CreateSlaveFlags();
   slaveFlags.resources =
-    "cpus:1;mem:512;disk(" + AUTHORIZED_ROLE_1 +"):1024;disk(" +
+    "cpus:1;mem:512;disk(" + AUTHORIZED_ROLE_1 + "):1024;disk(" +
     AUTHORIZED_ROLE_2 + "):1024";
 
   Future<SlaveID> slaveId;
@@ -1185,7 +1185,7 @@ TEST_F(PersistentVolumeEndpointsTest, BadCreateACLMultipleRoles)
   // creation of a persistent volume.
   slave::Flags slaveFlags = CreateSlaveFlags();
   slaveFlags.resources =
-    "cpus:1;mem:512;disk(" + AUTHORIZED_ROLE +"):1024;disk(" +
+    "cpus:1;mem:512;disk(" + AUTHORIZED_ROLE + "):1024;disk(" +
     UNAUTHORIZED_ROLE + "):1024";
 
   Future<SlaveID> slaveId;

http://git-wip-us.apache.org/repos/asf/mesos/blob/f7c5dd1d/src/uri/fetcher.cpp
----------------------------------------------------------------------
diff --git a/src/uri/fetcher.cpp b/src/uri/fetcher.cpp
index 904fce5..f4d1a4c 100644
--- a/src/uri/fetcher.cpp
+++ b/src/uri/fetcher.cpp
@@ -66,7 +66,7 @@ Try<Owned<Fetcher>> create(const Option<Flags>& _flags)
     if (plugin.isError()) {
       // NOTE: We skip the plugin if it cannot be created, instead of
       // returning an Error so that we can still use other plugins.
-      LOG(INFO) << "Skipping URI fetcher plugin " << "'"  << name << "' "
+      LOG(INFO) << "Skipping URI fetcher plugin " << "'" << name << "' "
                 << "as it could not be created: " << plugin.error();
       continue;
     }


[4/6] mesos git commit: Cleaned up `strings::tokenize` and `strings::split`.

Posted by ne...@apache.org.
Cleaned up `strings::tokenize` and `strings::split`.

The previous coding used a `while` loop condition that was invariant
over the body of the loop; it is clearer to write this as an `if`
statement instead. Also clarified comments.

Review: https://reviews.apache.org/r/57513


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/6cee2a14
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/6cee2a14
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/6cee2a14

Branch: refs/heads/master
Commit: 6cee2a143f9fc47661c33525646c9d4968f955c9
Parents: f7c5dd1
Author: Neil Conway <ne...@gmail.com>
Authored: Fri Mar 10 11:54:51 2017 -0500
Committer: Neil Conway <ne...@gmail.com>
Committed: Tue Apr 11 13:11:25 2017 -0700

----------------------------------------------------------------------
 3rdparty/stout/include/stout/strings.hpp | 42 +++++++++++++++++----------
 1 file changed, 27 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/6cee2a14/3rdparty/stout/include/stout/strings.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/stout/include/stout/strings.hpp b/3rdparty/stout/include/stout/strings.hpp
index fe469fa..067a792 100644
--- a/3rdparty/stout/include/stout/strings.hpp
+++ b/3rdparty/stout/include/stout/strings.hpp
@@ -129,23 +129,29 @@ inline std::string replace(
 }
 
 
-// Tokenizes the string using the delimiters.
-// Empty tokens will not be included in the result.
-// Optionally, maximum number of tokens to be returned
-// can be specified.
+// Tokenizes the string using the delimiters. Empty tokens will not be
+// included in the result.
+//
+// Optionally, the maximum number of tokens to be returned can be
+// specified. If the maximum number of tokens is reached, the last
+// token returned contains the remainder of the input string.
 inline std::vector<std::string> tokenize(
     const std::string& s,
     const std::string& delims,
     const Option<size_t>& maxTokens = None())
 {
-  size_t offset = 0;
+  if (maxTokens.isSome() && maxTokens.get() == 0) {
+    return {};
+  }
+
   std::vector<std::string> tokens;
+  size_t offset = 0;
 
-  while (maxTokens.isNone() || maxTokens.get() > 0) {
+  while (true) {
     size_t nonDelim = s.find_first_not_of(delims, offset);
 
     if (nonDelim == std::string::npos) {
-      break; // Nothing left
+      break; // Nothing left.
     }
 
     size_t delim = s.find_first_of(delims, nonDelim);
@@ -166,21 +172,27 @@ inline std::vector<std::string> tokenize(
 }
 
 
-// Splits the string using the provided delimiters.
-// The string is split each time at the first character
-// that matches any of the characters specified in delims.
-// Empty tokens are allowed in the result.
-// Optionally, maximum number of tokens to be returned
-// can be specified.
+// Splits the string using the provided delimiters. The string is
+// split each time at the first character that matches any of the
+// characters specified in delims.  Empty tokens are allowed in the
+// result.
+//
+// Optionally, the maximum number of tokens to be returned can be
+// specified. If the maximum number of tokens is reached, the last
+// token returned contains the remainder of the input string.
 inline std::vector<std::string> split(
     const std::string& s,
     const std::string& delims,
     const Option<size_t>& maxTokens = None())
 {
-  size_t offset = 0;
+  if (maxTokens.isSome() && maxTokens.get() == 0) {
+    return {};
+  }
+
   std::vector<std::string> tokens;
+  size_t offset = 0;
 
-  while (maxTokens.isNone() || maxTokens.get() > 0) {
+  while (true) {
     size_t next = s.find_first_of(delims, offset);
 
     // Finish splitting if this is the last token,


[5/6] mesos git commit: Improved Stout string tests slightly.

Posted by ne...@apache.org.
Improved Stout string tests slightly.

Review: https://reviews.apache.org/r/57529


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/51678288
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/51678288
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/51678288

Branch: refs/heads/master
Commit: 51678288d34fb128a47919bb2d83eebe1933a24d
Parents: 6cee2a1
Author: Neil Conway <ne...@gmail.com>
Authored: Fri Mar 10 16:22:33 2017 -0500
Committer: Neil Conway <ne...@gmail.com>
Committed: Tue Apr 11 13:11:30 2017 -0700

----------------------------------------------------------------------
 3rdparty/stout/tests/strings_tests.cpp | 42 +++++++++++++++++------------
 1 file changed, 25 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/51678288/3rdparty/stout/tests/strings_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/stout/tests/strings_tests.cpp b/3rdparty/stout/tests/strings_tests.cpp
index b985a47..a51144d 100644
--- a/3rdparty/stout/tests/strings_tests.cpp
+++ b/3rdparty/stout/tests/strings_tests.cpp
@@ -435,23 +435,27 @@ TEST(StringsTest, SplitNWithMultipleDelims)
 
 TEST(StringsTest, Pairs)
 {
-  map<string, vector<string>> pairs = strings::pairs("one=1,two=2", ",", "=");
-  ASSERT_EQ(2u, pairs.size());
-  ASSERT_EQ(1u, pairs.count("one"));
-  ASSERT_EQ(1u, pairs["one"].size());
-  EXPECT_EQ("1", pairs["one"].front());
-  ASSERT_EQ(1u, pairs.count("two"));
-  ASSERT_EQ(1u, pairs["two"].size());
-  EXPECT_EQ("2", pairs["two"].front());
-
-  pairs = strings::pairs("foo=1;bar=2;baz;foo=3;bam=1=2", ";&", "=");
-  ASSERT_EQ(2u, pairs.size());
-  ASSERT_EQ(1u, pairs.count("foo"));
-  ASSERT_EQ(2u, pairs["foo"].size());
-  ASSERT_EQ("1", pairs["foo"].front());
-  ASSERT_EQ("3", pairs["foo"].back());
-  ASSERT_EQ(1u, pairs.count("bar"));
-  ASSERT_EQ("2", pairs["bar"].front());
+  {
+    map<string, vector<string>> pairs = strings::pairs("one=1,two=2", ",", "=");
+    map<string, vector<string>> expected = {
+      {"one", {"1"}},
+      {"two", {"2"}}
+    };
+
+    EXPECT_EQ(expected, pairs);
+  }
+
+  {
+    map<string, vector<string>> pairs = strings::pairs(
+        "foo=1;bar=2;baz;foo=3;bam=1=2", ";&", "=");
+
+    map<string, vector<string>> expected = {
+      {"foo", {"1", "3"}},
+      {"bar", {"2"}}
+    };
+
+    EXPECT_EQ(expected, pairs);
+  }
 }
 
 
@@ -460,10 +464,14 @@ TEST(StringsTest, Join)
   EXPECT_EQ("a/b", strings::join("/", "a", "b"));
   EXPECT_EQ("a/b/c", strings::join("/", "a", "b", "c"));
   EXPECT_EQ("a\nb\nc\nd", strings::join("\n", "a", "b", "c", "d"));
+  EXPECT_EQ("a//b///d", strings::join("/", "a", "", "b", "", "", "d"));
+
   std::stringstream ss;
   EXPECT_EQ("a, b, c", strings::join(ss, ", ", "a", "b", "c").str());
+
   const string gnarly("gnarly");
   EXPECT_EQ("a/gnarly/c", strings::join("/", "a", gnarly, "c"));
+
   const bool is_true = true;
   const std::set<int32_t> my_set {1, 2, 3};
   EXPECT_EQ(


[2/6] mesos git commit: Fixed whitespace in stout.

Posted by ne...@apache.org.
Fixed whitespace in stout.

Review: https://reviews.apache.org/r/57511


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/918a8929
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/918a8929
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/918a8929

Branch: refs/heads/master
Commit: 918a89291553894fce337cd8d47a6c963b1c1e94
Parents: fab1093
Author: Neil Conway <ne...@gmail.com>
Authored: Fri Mar 10 11:47:13 2017 -0500
Committer: Neil Conway <ne...@gmail.com>
Committed: Tue Apr 11 13:11:14 2017 -0700

----------------------------------------------------------------------
 3rdparty/stout/include/stout/jsonify.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/918a8929/3rdparty/stout/include/stout/jsonify.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/stout/include/stout/jsonify.hpp b/3rdparty/stout/include/stout/jsonify.hpp
index cdcd839..7d84bac 100644
--- a/3rdparty/stout/include/stout/jsonify.hpp
+++ b/3rdparty/stout/include/stout/jsonify.hpp
@@ -342,7 +342,7 @@ public:
     switch (c) {
       case '"' : *stream_ << "\\\""; break;
       case '\\': *stream_ << "\\\\"; break;
-      case '/' : *stream_ <<  "\\/"; break;
+      case '/' : *stream_ << "\\/"; break;
       case '\b': *stream_ << "\\b"; break;
       case '\f': *stream_ << "\\f"; break;
       case '\n': *stream_ << "\\n"; break;