Consistently used virtual inheritance for Flags classes in stout.

In order for different `Flags` classes to be composable classes should
always use virtual inheritance.

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


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

Branch: refs/heads/master
Commit: 16914ae87b999223e26d63415b56d5aca4bf8b2b
Parents: 5d491eb
Author: Benjamin Bannier <benjamin.bann...@mesosphere.io>
Authored: Fri Oct 14 18:56:02 2016 -0400
Committer: Michael Park <mp...@apache.org>
Committed: Mon Oct 17 05:34:41 2016 -0400

----------------------------------------------------------------------
 3rdparty/stout/tests/flags_tests.cpp      | 14 ++++----------
 3rdparty/stout/tests/subcommand_tests.cpp |  2 +-
 2 files changed, 5 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/16914ae8/3rdparty/stout/tests/flags_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/stout/tests/flags_tests.cpp 
b/3rdparty/stout/tests/flags_tests.cpp
index 50d7c17..b2de02d 100644
--- a/3rdparty/stout/tests/flags_tests.cpp
+++ b/3rdparty/stout/tests/flags_tests.cpp
@@ -45,7 +45,7 @@ using utils::arraySize;
 
 // Just used to test that the default implementation
 // of --help and 'usage()' works as intended.
-class EmptyFlags : public FlagsBase {};
+class EmptyFlags : public virtual FlagsBase {};
 
 
 class TestFlags : public virtual FlagsBase
@@ -725,7 +725,7 @@ TEST(FlagsTest, MissingRequiredFlag)
 TEST(FlagsTest, Validate)
 {
   // To provide validation functions.
-  class ValidatingTestFlags : public TestFlags
+  class ValidatingTestFlags : public virtual FlagsBase
   {
   public:
     ValidatingTestFlags()
@@ -835,24 +835,18 @@ TEST(FlagsTest, EmptyUsage)
 TEST(FlagsTest, ProgramName)
 {
   // To test with a custom program name.
-  class MyTestFlags : public TestFlags
+  class MyTestFlags : public virtual FlagsBase
   {
   public:
     MyTestFlags() { programName_ = "TestProgram"; }
   };
 
-
   MyTestFlags flags;
 
   EXPECT_EQ(
       "Usage: TestProgram [options]\n"
       "\n"
-      "  --[no-]help       Prints this help message (default: false)\n"
-      "  --name1=VALUE     Set name1 (default: ben folds)\n"
-      "  --name2=VALUE     Set name2 (default: 42)\n"
-      "  --[no-]name3      Set name3 (default: false)\n"
-      "  --[no-]name4      Set name4\n"
-      "  --[no-]name5      Set name5\n",
+      "  --[no-]help     Prints this help message (default: false)\n",
       flags.usage());
 }
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/16914ae8/3rdparty/stout/tests/subcommand_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/stout/tests/subcommand_tests.cpp 
b/3rdparty/stout/tests/subcommand_tests.cpp
index 9213d6b..9cdb1ad 100644
--- a/3rdparty/stout/tests/subcommand_tests.cpp
+++ b/3rdparty/stout/tests/subcommand_tests.cpp
@@ -29,7 +29,7 @@ using std::vector;
 class TestSubcommand : public Subcommand
 {
 public:
-  struct Flags : public flags::FlagsBase
+  struct Flags : public virtual flags::FlagsBase
   {
     Flags()
     {

Reply via email to