Repository: mesos
Updated Branches:
  refs/heads/master cd61a228e -> 190d15886


Converted bool returns to Try<Nothing> in stout/os.hpp.

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


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

Branch: refs/heads/master
Commit: 3cf732fc181bd1ade830e07c34b783271299dd5c
Parents: cd61a22
Author: Dominic Hamon <[email protected]>
Authored: Fri Apr 18 11:12:24 2014 -0700
Committer: Dominic Hamon <[email protected]>
Committed: Tue Jul 29 14:33:40 2014 -0700

----------------------------------------------------------------------
 .../3rdparty/stout/include/stout/os.hpp         | 36 ++++++++------------
 .../stout/include/stout/tests/utils.hpp         |  4 +--
 .../3rdparty/stout/tests/os_tests.cpp           |  4 +--
 3 files changed, 18 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/3cf732fc/3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp 
b/3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp
index 0825172..85b49d9 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/os.hpp
@@ -578,7 +578,6 @@ inline int system(const std::string& command)
 }
 
 
-// TODO(bmahler): Clean these bool functions to return Try<Nothing>.
 // Changes the specified path's user and group ownership to that of
 // the specified user..
 inline Try<Nothing> chown(
@@ -613,25 +612,23 @@ inline Try<Nothing> chown(
 }
 
 
-inline bool chmod(const std::string& path, int mode)
+inline Try<Nothing> chmod(const std::string& path, int mode)
 {
   if (::chmod(path.c_str(), mode) < 0) {
-    PLOG(ERROR) << "Failed to changed the mode of the path '" << path << "'";
-    return false;
+    return ErrnoError();
   }
 
-  return true;
+  return Nothing();
 }
 
 
-inline bool chdir(const std::string& directory)
+inline Try<Nothing> chdir(const std::string& directory)
 {
   if (::chdir(directory.c_str()) < 0) {
-    PLOG(ERROR) << "Failed to change directory";
-    return false;
+    return ErrnoError();
   }
 
-  return true;
+  return Nothing();
 }
 
 
@@ -723,30 +720,25 @@ inline Result<gid_t> getgid(const Option<std::string>& 
user = None())
 }
 
 
-// TODO(idownes): Refactor to return a Try and to not log internally.
-inline bool su(const std::string& user)
+inline Try<Nothing> su(const std::string& user)
 {
   Result<gid_t> gid = os::getgid(user);
   if (gid.isError() || gid.isNone()) {
-    LOG(ERROR) << "Failed to set gid: "
-               << (gid.isError() ? gid.error() : "unknown user");
-    return false;
+    return Error("Failed to getgid: " +
+        (gid.isError() ? gid.error() : "unknown user"));
   } else if (::setgid(gid.get())) {
-    PLOG(ERROR) << "Failed to setgid";
-    return false;
+    return ErrnoError("Failed to set gid");
   }
 
   Result<uid_t> uid = os::getuid(user);
   if (uid.isError() || uid.isNone()) {
-    LOG(ERROR) << "Failed to set uid: "
-               << (uid.isError() ? uid.error() : "unknown user");
-    return false;
+    return Error("Failed to getuid: " +
+        (uid.isError() ? uid.error() : "unknown user"));
   } else if (::setuid(uid.get())) {
-    PLOG(ERROR) << "Failed to setuid";
-    return false;
+    return ErrnoError("Failed to setuid");
   }
 
-  return true;
+  return Nothing();
 }
 
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/3cf732fc/3rdparty/libprocess/3rdparty/stout/include/stout/tests/utils.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/tests/utils.hpp 
b/3rdparty/libprocess/3rdparty/stout/include/stout/tests/utils.hpp
index ff4907b..494baca 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/tests/utils.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/tests/utils.hpp
@@ -39,14 +39,14 @@ protected:
     sandbox = directory.get();
 
     // Run the test out of the temporary directory we created.
-    ASSERT_TRUE(os::chdir(sandbox.get()))
+    ASSERT_SOME(os::chdir(sandbox.get()))
       << "Failed to chdir into '" << sandbox.get() << "'";
   }
 
   virtual void TearDown()
   {
     // Return to previous working directory and cleanup the sandbox.
-    ASSERT_TRUE(os::chdir(cwd));
+    ASSERT_SOME(os::chdir(cwd));
 
     if (sandbox.isSome()) {
       ASSERT_SOME(os::rmdir(sandbox.get()));

http://git-wip-us.apache.org/repos/asf/mesos/blob/3cf732fc/3rdparty/libprocess/3rdparty/stout/tests/os_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/tests/os_tests.cpp 
b/3rdparty/libprocess/3rdparty/stout/tests/os_tests.cpp
index 7fa7346..3f2ba47 100644
--- a/3rdparty/libprocess/3rdparty/stout/tests/os_tests.cpp
+++ b/3rdparty/libprocess/3rdparty/stout/tests/os_tests.cpp
@@ -720,6 +720,6 @@ TEST_F(OsTest, user)
   EXPECT_NONE(os::getuid(UUID::random().toString()));
   EXPECT_NONE(os::getgid(UUID::random().toString()));
 
-  EXPECT_TRUE(os::su(user.get()));
-  EXPECT_FALSE(os::su(UUID::random().toString()));
+  EXPECT_SOME(os::su(user.get()));
+  EXPECT_ERROR(os::su(UUID::random().toString()));
 }

Reply via email to