Updated composing containerizer tests.

This patch updates composing containerizer tests in order to be
consistent with the unification of `destroy()` and `wait()` return
types.

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


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

Branch: refs/heads/master
Commit: bf901dad031e4f9d55832fa9eb38455ba9639809
Parents: a4492f7
Author: Andrei Budnik <abud...@mesosphere.com>
Authored: Fri May 25 09:08:08 2018 +0800
Committer: Qian Zhang <zhq527...@gmail.com>
Committed: Fri May 25 09:08:08 2018 +0800

----------------------------------------------------------------------
 .../composing_containerizer_tests.cpp           | 40 ++++++++------------
 1 file changed, 16 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/bf901dad/src/tests/containerizer/composing_containerizer_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/composing_containerizer_tests.cpp 
b/src/tests/containerizer/composing_containerizer_tests.cpp
index 6964ac2..4236bd4 100644
--- a/src/tests/containerizer/composing_containerizer_tests.cpp
+++ b/src/tests/containerizer/composing_containerizer_tests.cpp
@@ -63,8 +63,7 @@ class ComposingContainerizerTest : public MesosTest {};
 // underlying containerizer's destroy (because it's not sure
 // if the containerizer can handle the type of container being
 // launched). If the launch is not supported by the 1st containerizer,
-// the composing containerizer should stop the launch loop and
-// set the value of destroy future to true.
+// the composing containerizer should stop the launch.
 TEST_F(ComposingContainerizerTest, DestroyDuringUnsupportedLaunchLoop)
 {
   vector<Containerizer*> containerizers;
@@ -80,7 +79,6 @@ TEST_F(ComposingContainerizerTest, 
DestroyDuringUnsupportedLaunchLoop)
   containerId.set_value("container");
   TaskInfo taskInfo;
   ExecutorInfo executorInfo;
-  SlaveID slaveId;
   map<string, string> environment;
 
   Promise<Containerizer::LaunchResult> launchPromise;
@@ -100,8 +98,6 @@ TEST_F(ComposingContainerizerTest, 
DestroyDuringUnsupportedLaunchLoop)
       environment,
       None());
 
-  Resources resources = Resources::parse("cpus:1;mem:256").get();
-
   EXPECT_TRUE(launched.isPending());
 
   Future<Option<ContainerTermination>> destroyed =
@@ -118,13 +114,13 @@ TEST_F(ComposingContainerizerTest, 
DestroyDuringUnsupportedLaunchLoop)
   launchPromise.set(Containerizer::LaunchResult::NOT_SUPPORTED);
   destroyPromise.set(Option<ContainerTermination>::none());
 
-  // `launched` should be a failure and `destroyed` should be true
-  // because the launch was stopped from being tried on the 2nd
-  // containerizer because of the destroy.
+  // `launched` should be a failure and `destroyed` should be `None`
+  // because there was no container in `RUNNING` or `LAUNCHING` state
+  // at the moment `destroy()` was called.
   AWAIT_FAILED(launched);
 
   AWAIT_READY(destroyed);
-  EXPECT_SOME(destroyed.get());
+  EXPECT_NONE(destroyed.get());
 }
 
 
@@ -132,8 +128,9 @@ TEST_F(ComposingContainerizerTest, 
DestroyDuringUnsupportedLaunchLoop)
 // launch loop. The composing containerizer still calls the
 // underlying containerizer's destroy (because it's not sure
 // if the containerizer can handle the type of container being
-// launched). If the launch is successful the destroy future
-// value depends on the containerizer's destroy.
+// launched). If the launch is successful, the composing
+// containerizer's destroy future value depends on the underlying
+// containerizer's destroy.
 TEST_F(ComposingContainerizerTest, DestroyDuringSupportedLaunchLoop)
 {
   vector<Containerizer*> containerizers;
@@ -149,7 +146,6 @@ TEST_F(ComposingContainerizerTest, 
DestroyDuringSupportedLaunchLoop)
   containerId.set_value("container");
   TaskInfo taskInfo;
   ExecutorInfo executorInfo;
-  SlaveID slaveId;
   map<string, string> environment;
 
   Promise<Containerizer::LaunchResult> launchPromise;
@@ -169,8 +165,6 @@ TEST_F(ComposingContainerizerTest, 
DestroyDuringSupportedLaunchLoop)
       environment,
       None());
 
-  Resources resources = Resources::parse("cpus:1;mem:256").get();
-
   EXPECT_TRUE(launched.isPending());
 
   Future<Option<ContainerTermination>> destroyed =
@@ -185,14 +179,14 @@ TEST_F(ComposingContainerizerTest, 
DestroyDuringSupportedLaunchLoop)
   AWAIT_READY(destroy);
 
   launchPromise.set(Containerizer::LaunchResult::SUCCESS);
-  destroyPromise.set(Option<ContainerTermination>::none());
+  destroyPromise.set(Option<ContainerTermination>(ContainerTermination()));
 
-  // `launched` should return true and `destroyed` should return false
-  // because the launch succeeded and `destroyPromise` was set to false.
+  // `launched` should return `SUCCESS` and `destroyed` should return `Some`,
+  // because both operations succeeded.
   AWAIT_EXPECT_EQ(Containerizer::LaunchResult::SUCCESS, launched);
 
   AWAIT_READY(destroyed);
-  EXPECT_NONE(destroyed.get());
+  EXPECT_SOME(destroyed.get());
 }
 
 
@@ -200,8 +194,9 @@ TEST_F(ComposingContainerizerTest, 
DestroyDuringSupportedLaunchLoop)
 // launch loop. The composing containerizer still calls the
 // underlying containerizer's destroy (because it's not sure
 // if the containerizer can handle the type of container being
-// launched). If the launch is not supported by any containerizers
-// both the launch and destroy futures should be false.
+// launched). If the launch is not supported by any containerizers,
+// then the launch future should be `NOT_SUPPORTED` and the destroy
+// future should be `None`.
 TEST_F(ComposingContainerizerTest, DestroyAfterLaunchLoop)
 {
   vector<Containerizer*> containerizers;
@@ -214,7 +209,6 @@ TEST_F(ComposingContainerizerTest, DestroyAfterLaunchLoop)
   containerId.set_value("container");
   TaskInfo taskInfo;
   ExecutorInfo executorInfo;
-  SlaveID slaveId;
   map<string, string> environment;
 
   Promise<Containerizer::LaunchResult> launchPromise;
@@ -234,8 +228,6 @@ TEST_F(ComposingContainerizerTest, DestroyAfterLaunchLoop)
       environment,
       None());
 
-  Resources resources = Resources::parse("cpus:1;mem:256").get();
-
   EXPECT_TRUE(launched.isPending());
 
   Future<Option<ContainerTermination>> destroyed =
@@ -247,7 +239,7 @@ TEST_F(ComposingContainerizerTest, DestroyAfterLaunchLoop)
   launchPromise.set(Containerizer::LaunchResult::NOT_SUPPORTED);
   destroyPromise.set(Option<ContainerTermination>::none());
 
-  // `launch` should return false and `destroyed` should return false
+  // `launch` should return false and `destroyed` should return `None`
   // because none of the containerizers support the launch.
   AWAIT_EXPECT_EQ(Containerizer::LaunchResult::NOT_SUPPORTED, launched);
 

Reply via email to