You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by mp...@apache.org on 2016/04/05 19:55:27 UTC
mesos git commit: Fixed a bug in the `flags::parse` function and
added a couple of tests.
Repository: mesos
Updated Branches:
refs/heads/master 9d49885bb -> d7c80c02d
Fixed a bug in the `flags::parse` function and added a couple of tests.
Review: https://reviews.apache.org/r/45726/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/d7c80c02
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/d7c80c02
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/d7c80c02
Branch: refs/heads/master
Commit: d7c80c02d9b782176ea7a00ea0a1d89a1b7dfd4d
Parents: 9d49885
Author: Michael Park <mp...@apache.org>
Authored: Tue Apr 5 10:45:23 2016 -0700
Committer: Michael Park <mp...@apache.org>
Committed: Tue Apr 5 10:45:42 2016 -0700
----------------------------------------------------------------------
.../stout/include/stout/flags/parse.hpp | 8 +++---
.../3rdparty/stout/tests/flags_tests.cpp | 26 ++++++++++++++++++--
2 files changed, 29 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/d7c80c02/3rdparty/libprocess/3rdparty/stout/include/stout/flags/parse.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/flags/parse.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/flags/parse.hpp
index 6313b6b..ef365e4 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/flags/parse.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/flags/parse.hpp
@@ -34,10 +34,12 @@ Try<T> parse(const std::string& value)
T t;
std::istringstream in(value);
in >> t;
- if (!in.good() && !in.eof()) {
- return Error("Failed to convert into required type");
+
+ if (in && in.eof()) {
+ return t;
}
- return t;
+
+ return Error("Failed to convert into required type");
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/d7c80c02/3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp b/3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp
index e87bee2..66e16ab 100644
--- a/3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp
+++ b/3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp
@@ -130,9 +130,16 @@ TEST(FlagsTest, Add)
"name8",
"Also set name8");
+ Option<string> name9;
+
+ flags.add(&name9,
+ "name9",
+ "Also set name9");
+
const map<string, Option<string> > values = {
{"name6", Some("ben folds")},
- {"no-name7", None()}
+ {"no-name7", None()},
+ {"name9", Some("")}
};
flags.load(values);
@@ -142,7 +149,10 @@ TEST(FlagsTest, Add)
EXPECT_FALSE(name7);
- ASSERT_TRUE(name8.isNone());
+ EXPECT_NONE(name8);
+
+ ASSERT_SOME(name9);
+ EXPECT_EQ("", name9.get());
}
@@ -495,6 +505,18 @@ TEST(FlagsTest, Errors)
EXPECT_EQ("Failed to load non-boolean flag 'name2' "
"via 'no-name2'", load.error());
+
+ Option<int> name6;
+ flags.add(&name6, "name6", "Also set name6");
+
+ // Now test a non-boolean flag using empty string value.
+ argv[1] = (char*) "--name6=";
+
+ load = flags.load("FLAGSTEST_", argc, argv);
+ EXPECT_ERROR(load);
+
+ EXPECT_EQ("Failed to load flag 'name6': Failed to load value '': "
+ "Failed to convert into required type", load.error());
}