You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ti...@apache.org on 2015/06/27 02:39:57 UTC
mesos git commit: Fixed const'ness of flags::load.
Repository: mesos
Updated Branches:
refs/heads/master b0beb5b4a -> 299b082f9
Fixed const'ness of flags::load.
Replacing argument arrays with static initializers in tests.
Making the argument 'argv' const in load method to reflect the
semantics.
Review: https://reviews.apache.org/r/35743
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/299b082f
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/299b082f
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/299b082f
Branch: refs/heads/master
Commit: 299b082f9d04060bdd93e2c179c046764dc857a1
Parents: b0beb5b
Author: Jojy Varghese <jo...@mesosphere.io>
Authored: Sat Jun 27 01:56:42 2015 +0200
Committer: Till Toenshoff <to...@me.com>
Committed: Sat Jun 27 02:39:13 2015 +0200
----------------------------------------------------------------------
.../stout/include/stout/flags/flags.hpp | 4 +-
.../3rdparty/stout/include/stout/utils.hpp | 7 +
.../3rdparty/stout/tests/flags_tests.cpp | 196 +++++++++----------
3 files changed, 105 insertions(+), 102 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/299b082f/3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp
index 3bb114b..ae54566 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/flags/flags.hpp
@@ -59,7 +59,7 @@ public:
virtual Try<Nothing> load(
const Option<std::string>& prefix,
int argc,
- char** argv,
+ const char* const* argv,
bool unknowns = false,
bool duplicates = false);
@@ -551,7 +551,7 @@ inline Try<Nothing> FlagsBase::load(const std::string& prefix)
inline Try<Nothing> FlagsBase::load(
const Option<std::string>& prefix,
int argc,
- char** argv,
+ const char* const *argv,
bool unknowns,
bool duplicates)
{
http://git-wip-us.apache.org/repos/asf/mesos/blob/299b082f/3rdparty/libprocess/3rdparty/stout/include/stout/utils.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/stout/include/stout/utils.hpp b/3rdparty/libprocess/3rdparty/stout/include/stout/utils.hpp
index dfcd62a..faca859 100644
--- a/3rdparty/libprocess/3rdparty/stout/include/stout/utils.hpp
+++ b/3rdparty/libprocess/3rdparty/stout/include/stout/utils.hpp
@@ -21,6 +21,13 @@ namespace utils {
template <typename T>
T copy(const T& t) { return t; }
+
+template <typename T, size_t N>
+static constexpr size_t arraySize(T(&)[N])
+{
+ return N;
+}
+
} // namespace utils {
#endif // __STOUT_UTILS_HPP__
http://git-wip-us.apache.org/repos/asf/mesos/blob/299b082f/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 c2f6c22..2a6f67b 100644
--- a/3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp
+++ b/3rdparty/libprocess/3rdparty/stout/tests/flags_tests.cpp
@@ -14,6 +14,7 @@
#include <stout/os.hpp>
#include <stout/path.hpp>
#include <stout/some.hpp>
+#include <stout/utils.hpp>
#include <stout/tests/utils.hpp>
@@ -24,6 +25,7 @@ using std::endl;
using std::string;
using std::map;
+using utils::arraySize;
// Just used to test that the default implementation
// of --help and 'usage()' works as intended.
@@ -71,13 +73,13 @@ TEST(FlagsTest, Load)
{
TestFlags flags;
- map<string, Option<string> > values;
-
- values["name1"] = Some("billy joel");
- values["name2"] = Some("43");
- values["name3"] = Some("false");
- values["no-name4"] = None();
- values["name5"] = None();
+ const map<string, Option<string> > values = {
+ {"name1", Some("billy joel")},
+ {"name2", Some("43")},
+ {"name3", Some("false")},
+ {"no-name4", None()},
+ {"name5", None()}
+ };
flags.load(values);
@@ -114,10 +116,10 @@ TEST(FlagsTest, Add)
"name8",
"Also set name8");
- map<string, Option<string> > values;
-
- values["name6"] = Some("ben folds");
- values["no-name7"] = None();
+ const map<string, Option<string> > values = {
+ {"name6", Some("ben folds")},
+ {"no-name7", None()}
+ };
flags.load(values);
@@ -134,13 +136,13 @@ TEST(FlagsTest, Flags)
{
TestFlags flags;
- map<string, Option<string> > values;
-
- values["name1"] = Some("billy joel");
- values["name2"] = Some("43");
- values["name3"] = Some("false");
- values["no-name4"] = None();
- values["name5"] = None();
+ const map<string, Option<string> > values = {
+ {"name1", Some("billy joel")},
+ {"name2", Some("43")},
+ {"name3", Some("false")},
+ {"no-name4", None()},
+ {"name5", None()}
+ };
flags.load(values);
@@ -187,17 +189,16 @@ TEST(FlagsTest, LoadFromCommandLine)
{
TestFlags flags;
- int argc = 6;
- char* argv[argc];
-
- argv[0] = (char*) "/path/to/program";
- argv[1] = (char*) "--name1=billy joel";
- argv[2] = (char*) "--name2=43";
- argv[3] = (char*) "--no-name3";
- argv[4] = (char*) "--no-name4";
- argv[5] = (char*) "--name5";
+ const char* argv[] = {
+ "/path/to/program",
+ "--name1=billy joel",
+ "--name2=43",
+ "--no-name3",
+ "--no-name4",
+ "--name5"
+ };
- Try<Nothing> load = flags.load("FLAGSTEST_", argc, argv);
+ Try<Nothing> load = flags.load("FLAGSTEST_", arraySize(argv), argv);
EXPECT_SOME(load);
EXPECT_EQ("billy joel", flags.name1);
@@ -214,22 +215,21 @@ TEST(FlagsTest, LoadFromCommandLineWithNonFlags)
{
TestFlags flags;
- int argc = 11;
- char* argv[argc];
-
- argv[0] = (char*) "/path/to/program";
- argv[1] = (char*) "more";
- argv[2] = (char*) "--name1=billy joel";
- argv[3] = (char*) "stuff";
- argv[4] = (char*) "at";
- argv[5] = (char*) "--name2=43";
- argv[6] = (char*) "--no-name3";
- argv[7] = (char*) "--no-name4";
- argv[8] = (char*) "--name5";
- argv[9] = (char*) "the";
- argv[10] = (char*) "end";
+ const char* argv[] = {
+ "/path/to/program",
+ "more",
+ "--name1=billy joel",
+ "stuff",
+ "at",
+ "--name2=43",
+ "--no-name3",
+ "--no-name4",
+ "--name5",
+ "the",
+ "end"
+ };
- Try<Nothing> load = flags.load("FLAGSTEST_", argc, argv);
+ Try<Nothing> load = flags.load("FLAGSTEST_", arraySize(argv), argv);
EXPECT_SOME(load);
EXPECT_EQ("billy joel", flags.name1);
@@ -246,22 +246,21 @@ TEST(FlagsTest, LoadFromCommandLineWithDashDash)
{
TestFlags flags;
- int argc = 11;
- char* argv[argc];
-
- argv[0] = (char*) "/path/to/program";
- argv[1] = (char*) "more";
- argv[2] = (char*) "--name1=billy joel";
- argv[3] = (char*) "stuff";
- argv[4] = (char*) "at";
- argv[5] = (char*) "--name2=43";
- argv[6] = (char*) "--no-name3";
- argv[7] = (char*) "--";
- argv[8] = (char*) "--no-name4";
- argv[9] = (char*) "--name5";
- argv[10] = (char*) "the";
+ const char* argv[] = {
+ "/path/to/program",
+ "more",
+ "--name1=billy joel",
+ "stuff",
+ "at",
+ "--name2=43",
+ "--no-name3",
+ "--",
+ "--no-name4",
+ "--name5",
+ "the"
+ };
- Try<Nothing> load = flags.load("FLAGSTEST_", argc, argv);
+ Try<Nothing> load = flags.load("FLAGSTEST_", arraySize(argv), argv);
EXPECT_SOME(load);
EXPECT_EQ("billy joel", flags.name1);
@@ -276,20 +275,20 @@ TEST(FlagsTest, LoadFromCommandLineAndUpdateArgcArgv)
{
TestFlags flags;
- int argc = 11;
- char* argv[argc];
-
- argv[0] = (char*) "/path/to/program";
- argv[1] = (char*) "more";
- argv[2] = (char*) "--name1=billy joel";
- argv[3] = (char*) "stuff";
- argv[4] = (char*) "at";
- argv[5] = (char*) "--name2=43";
- argv[6] = (char*) "--no-name3";
- argv[7] = (char*) "--";
- argv[8] = (char*) "--no-name4";
- argv[9] = (char*) "--name5";
- argv[10] = (char*) "the";
+ char* argv[] = {
+ (char*)"/path/to/program",
+ (char*)"more",
+ (char*)"--name1=billy joel",
+ (char*)"stuff",
+ (char*)"at",
+ (char*)"--name2=43",
+ (char*)"--no-name3",
+ (char*)"--",
+ (char*)"--no-name4",
+ (char*)"--name5",
+ (char*)"the"
+ };
+ int argc = arraySize(argv);
// Need a temporary since some compilers want to treat the type of
// 'argv' as 'char *(*)[argc]' since the size of the array is known.
@@ -339,11 +338,11 @@ TEST(FlagsTest, Stringification)
"name8",
"Optional name8");
- map<string, Option<string> > values;
-
- values["name2"] = Some("43");
- values["no-name4"] = None();
- values["name5"] = None();
+ const map<string, Option<string> > values = {
+ {"name2", Some("43")},
+ {"no-name4", None()},
+ {"name5", None()}
+ };
flags.load(values);
@@ -382,13 +381,12 @@ TEST(FlagsTest, DuplicatesFromEnvironment)
os::setenv("FLAGSTEST_name1", "ben folds");
- int argc = 2;
- char* argv[argc];
-
- argv[0] = (char*) "/path/to/program";
- argv[1] = (char*) "--name1=billy joel";
+ const char* argv[] = {
+ "/path/to/program",
+ "--name1=billy joel"
+ };
- Try<Nothing> load = flags.load("FLAGSTEST_", argc, argv);
+ Try<Nothing> load = flags.load("FLAGSTEST_", arraySize(argv), argv);
EXPECT_ERROR(load);
EXPECT_EQ("Duplicate flag 'name1' on command line", load.error());
@@ -401,14 +399,13 @@ TEST(FlagsTest, DuplicatesFromCommandLine)
{
TestFlags flags;
- int argc = 3;
- char* argv[argc];
-
- argv[0] = (char*) "/path/to/program";
- argv[1] = (char*) "--name1=billy joel";
- argv[2] = (char*) "--name1=ben folds";
+ const char* argv[] = {
+ "/path/to/program",
+ "--name1=billy joel",
+ "--name1=ben folds"
+ };
- Try<Nothing> load = flags.load("FLAGSTEST_", argc, argv);
+ Try<Nothing> load = flags.load("FLAGSTEST_", arraySize(argv), argv);
EXPECT_ERROR(load);
EXPECT_EQ("Duplicate flag 'name1' on command line", load.error());
@@ -511,13 +508,12 @@ TEST(FlagsTest, Validate)
ValidatingTestFlags flags;
- int argc = 2;
- char* argv[argc];
-
- argv[0] = (char*) "/path/to/program";
- argv[1] = (char*) "--duration=2hrs";
+ const char* argv[] = {
+ "/path/to/program",
+ "--duration=2hrs"
+ };
- Try<Nothing> load = flags.load("FLAGSTEST_", argc, argv);
+ Try<Nothing> load = flags.load("FLAGSTEST_", arraySize(argv), argv);
EXPECT_ERROR(load);
EXPECT_EQ("Expected --duration to be less than 1 hour", load.error());
@@ -615,10 +611,10 @@ TEST(FlagsTest, Duration)
"name7",
"Also some amount of time");
- map<string, Option<string> > values;
-
- values["name6"] = Some("2mins");
- values["name7"] = Some("3hrs");
+ const map<string, Option<string> > values = {
+ {"name6", Some("2mins")},
+ {"name7", Some("3hrs")}
+ };
ASSERT_SOME(flags.load(values));