You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/10/18 23:39:51 UTC

mesos git commit: Cleaned up a few style issues in the capabilities isolator tests.

Repository: mesos
Updated Branches:
  refs/heads/master aa643b620 -> 1d32d37e0


Cleaned up a few style issues in the capabilities isolator tests.

We remove an unused using declaration, and replace several bool
parameters with more readable enum values.

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


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

Branch: refs/heads/master
Commit: 1d32d37e0ecc97d0695e8ffc3d363463cfa5cfa2
Parents: aa643b6
Author: Benjamin Bannier <be...@mesosphere.io>
Authored: Tue Oct 18 16:39:39 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Tue Oct 18 16:39:48 2016 -0700

----------------------------------------------------------------------
 .../linux_capabilities_isolator_tests.cpp       | 123 ++++++++++++-------
 1 file changed, 82 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/1d32d37e/src/tests/containerizer/linux_capabilities_isolator_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/linux_capabilities_isolator_tests.cpp b/src/tests/containerizer/linux_capabilities_isolator_tests.cpp
index edb4665..d5332ab 100644
--- a/src/tests/containerizer/linux_capabilities_isolator_tests.cpp
+++ b/src/tests/containerizer/linux_capabilities_isolator_tests.cpp
@@ -82,24 +82,36 @@ namespace tests {
 //   'success'    True if the task should finish normally.
 struct TestParam
 {
+  enum Result
+  {
+    FAILURE = 0,
+    SUCCESS = 1
+  };
+
+  enum UseImage
+  {
+    WITHOUT_IMAGE = 0,
+    WITH_IMAGE = 1
+  };
+
   TestParam(
       const Option<set<Capability>>& _requested,
       const Option<set<Capability>>& _allowed,
-      bool _image,
-      bool _success)
+      UseImage _useImage,
+      Result _result)
     : requested(_requested.isSome()
         ? convert(_requested.get())
         : Option<CapabilityInfo>::none()),
       allowed(_allowed.isSome()
         ? convert(_allowed.get())
         : Option<CapabilityInfo>::none()),
-      image(_image),
-      success(_success) {}
+      useImage(_useImage),
+      result(_result) {}
 
   const Option<CapabilityInfo> requested;
   const Option<CapabilityInfo> allowed;
-  const bool image;
-  const bool success;
+  const UseImage useImage;
+  const Result result;
 };
 
 
@@ -117,8 +129,22 @@ ostream& operator<<(ostream& stream, const TestParam& param)
     stream << "allowed='none', ";
   }
 
-  stream << "image='" << (param.image ? "true" : "false") << "', ";
-  stream << "success='" << (param.success ? "true" : "false") << "'";
+  switch (param.useImage) {
+    case TestParam::WITHOUT_IMAGE:
+      stream << "use_image=false, ";
+      break;
+    case TestParam::WITH_IMAGE:
+      stream << "use_image=true, ";
+      break;
+  }
+
+  switch (param.result) {
+    case TestParam::FAILURE:
+      stream << "result=failure'";
+      break;
+    case TestParam::SUCCESS:
+      stream << "result=success'";
+  }
 
   return stream;
 }
@@ -158,7 +184,7 @@ TEST_P(LinuxCapabilitiesIsolatorTest, ROOT_Ping)
   flags.isolation = "linux/capabilities";
   flags.allowed_capabilities = param.allowed;
 
-  if (param.image) {
+  if (param.useImage == TestParam::WITH_IMAGE) {
     const string registry = path::join(sandbox.get(), "registry");
     AWAIT_READY(DockerArchive::create(registry, "test_image"));
 
@@ -219,7 +245,7 @@ TEST_P(LinuxCapabilitiesIsolatorTest, ROOT_Ping)
     capabilities->CopyFrom(param.requested.get());
   }
 
-  if (param.image) {
+  if (param.useImage == TestParam::WITH_IMAGE) {
     ContainerInfo* container = task.mutable_container();
     container->set_type(ContainerInfo::MESOS);
 
@@ -241,7 +267,14 @@ TEST_P(LinuxCapabilitiesIsolatorTest, ROOT_Ping)
 
     TaskState state = status->state();
     if (protobuf::isTerminalState(state)) {
-      EXPECT_EQ((param.success ? TASK_FINISHED : TASK_FAILED), state);
+      switch (param.result) {
+        case TestParam::SUCCESS:
+          EXPECT_EQ(TASK_FINISHED, state);
+          break;
+        case TestParam::FAILURE:
+          EXPECT_EQ(TASK_FAILED, state);
+          break;
+      }
       break;
     }
   }
@@ -261,86 +294,94 @@ INSTANTIATE_TEST_CASE_P(
     LinuxCapabilitiesIsolatorTest,
     ::testing::Values(
         // Dropped all relevant capabilities, thus ping will fail.
-        TestParam(set<Capability>({DAC_READ_SEARCH}), None(), false, false),
-        TestParam(set<Capability>({DAC_READ_SEARCH}), None(), true, false),
+        TestParam(
+            set<Capability>(),
+            None(),
+            TestParam::WITHOUT_IMAGE,
+            TestParam::FAILURE),
+        TestParam(
+            set<Capability>(),
+            None(),
+            TestParam::WITH_IMAGE,
+            TestParam::FAILURE),
         TestParam(
             set<Capability>({DAC_READ_SEARCH}),
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
-            false,
-            false),
+            TestParam::WITHOUT_IMAGE,
+            TestParam::FAILURE),
         TestParam(
             set<Capability>({DAC_READ_SEARCH}),
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
-            true,
-            false),
+            TestParam::WITH_IMAGE,
+            TestParam::FAILURE),
         TestParam(
             set<Capability>({DAC_READ_SEARCH}),
             set<Capability>({CHOWN, DAC_READ_SEARCH}),
-            false,
-            false),
+            TestParam::WITHOUT_IMAGE,
+            TestParam::FAILURE),
         TestParam(
             set<Capability>({DAC_READ_SEARCH}),
             set<Capability>({CHOWN, DAC_READ_SEARCH}),
-            true,
-            false),
+            TestParam::WITH_IMAGE,
+            TestParam::FAILURE),
 
         // Allowed capabilities do not contain that ping needs, thus
         // ping will fail.
         TestParam(
             None(),
             set<Capability>({CHOWN, DAC_READ_SEARCH}),
-            false,
-            false),
+            TestParam::WITHOUT_IMAGE,
+            TestParam::FAILURE),
         TestParam(
             None(),
             set<Capability>({CHOWN, DAC_READ_SEARCH}),
-            true,
-            false),
+            TestParam::WITH_IMAGE,
+            TestParam::FAILURE),
 
         // Requested capabilities are not allowed, task will fail.
         TestParam(
             set<Capability>({NET_RAW, NET_ADMIN}),
             set<Capability>({CHOWN}),
-            false,
-            false),
+            TestParam::WITHOUT_IMAGE,
+            TestParam::FAILURE),
         TestParam(
             set<Capability>({NET_RAW, NET_ADMIN}),
             set<Capability>({CHOWN}),
-            true,
-            false),
+            TestParam::WITH_IMAGE,
+            TestParam::FAILURE),
 
         // Dropped all capabilities but those that ping needs, thus
         // ping will finish normally.
         TestParam(
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
             None(),
-            false,
-            true),
+            TestParam::WITHOUT_IMAGE,
+            TestParam::SUCCESS),
         TestParam(
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
             None(),
-            true,
-            true),
+            TestParam::WITH_IMAGE,
+            TestParam::SUCCESS),
         TestParam(
             None(),
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
-            false,
-            true),
+            TestParam::WITHOUT_IMAGE,
+            TestParam::SUCCESS),
         TestParam(
             None(),
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
-            true,
-            true),
+            TestParam::WITH_IMAGE,
+            TestParam::SUCCESS),
         TestParam(
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
-            false,
-            true),
+            TestParam::WITHOUT_IMAGE,
+            TestParam::SUCCESS),
         TestParam(
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
             set<Capability>({NET_RAW, NET_ADMIN, DAC_READ_SEARCH}),
-            true,
-            true)));
+            TestParam::WITH_IMAGE,
+            TestParam::SUCCESS)));
 
 
 // TODO(bbannier): Add test cases for running the container as non-root.