You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by al...@apache.org on 2017/11/13 18:26:25 UTC

mesos git commit: Fixed IoSwitchboard tests.

Repository: mesos
Updated Branches:
  refs/heads/master 663b893a0 -> 5925b4244


Fixed IoSwitchboard tests.

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


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

Branch: refs/heads/master
Commit: 5925b424454e56e02667725713c07f073a7262b9
Parents: 663b893
Author: Benno Evers <be...@mesosphere.com>
Authored: Mon Nov 13 19:21:36 2017 +0100
Committer: Alexander Rukletsov <al...@apache.org>
Committed: Mon Nov 13 19:26:04 2017 +0100

----------------------------------------------------------------------
 .../containerizer/io_switchboard_tests.cpp      | 28 ++++++++++++++------
 1 file changed, 20 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/5925b424/src/tests/containerizer/io_switchboard_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/io_switchboard_tests.cpp b/src/tests/containerizer/io_switchboard_tests.cpp
index 0828119..be1078e 100644
--- a/src/tests/containerizer/io_switchboard_tests.cpp
+++ b/src/tests/containerizer/io_switchboard_tests.cpp
@@ -993,13 +993,16 @@ TEST_F(IOSwitchboardTest, DISABLED_RecoverThenKillSwitchboardContainerDestroyed)
 
   containerizer.reset(create.get());
 
-  // Expect three task updates.
-  // (1) TASK_RUNNING before recovery.
-  // (2) TASK_RUNNING after recovery.
-  // (3) TASK_FAILED after the io switchboard is killed.
+  // Expect four task updates.
+  // (1) TASK_STARTING when the task starts.
+  // (2) TASK_RUNNING before recovery.
+  // (3) TASK_RUNNING after recovery.
+  // (4) TASK_FAILED after the io switchboard is killed.
+  Future<TaskStatus> statusStarting;
   Future<TaskStatus> statusRunning;
   Future<TaskStatus> statusFailed;
   EXPECT_CALL(sched, statusUpdate(_, _))
+    .WillOnce(FutureArg<1>(&statusStarting))
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusFailed))
@@ -1008,6 +1011,9 @@ TEST_F(IOSwitchboardTest, DISABLED_RecoverThenKillSwitchboardContainerDestroyed)
   slave = StartSlave(detector.get(), containerizer.get(), flags);
   ASSERT_SOME(slave);
 
+  AWAIT_READY(statusStarting);
+  EXPECT_EQ(TASK_STARTING, statusStarting->state());
+
   // Make sure the task comes back as running.
   AWAIT_READY(statusRunning);
   EXPECT_EQ(TASK_RUNNING, statusRunning->state());
@@ -1087,11 +1093,16 @@ TEST_F(IOSwitchboardTest, ContainerAttachAfterSlaveRestart)
   AWAIT_READY(offers);
   ASSERT_FALSE(offers->empty());
 
+  Future<TaskStatus> statusStarting;
   Future<TaskStatus> statusRunning;
   EXPECT_CALL(sched, statusUpdate(_, _))
+    .WillOnce(FutureArg<1>(&statusStarting))
     .WillOnce(FutureArg<1>(&statusRunning));
 
-  Future<Nothing> _ack =
+  Future<Nothing> _ackRunning =
+    FUTURE_DISPATCH(_, &slave::Slave::_statusUpdateAcknowledgement);
+
+  Future<Nothing> _ackStarting =
     FUTURE_DISPATCH(_, &slave::Slave::_statusUpdateAcknowledgement);
 
   // Launch a task with tty to start the switchboard server.
@@ -1101,10 +1112,11 @@ TEST_F(IOSwitchboardTest, ContainerAttachAfterSlaveRestart)
 
   driver.launchTasks(offers.get()[0].id(), {task});
 
+  // Ultimately wait for the `TASK_RUNNING` ack to be checkpointed.
+  AWAIT_READY(statusStarting);
+  AWAIT_READY(_ackStarting);
   AWAIT_READY(statusRunning);
-
-  // Wait for the ACK to be checkpointed.
-  AWAIT_READY(_ack);
+  AWAIT_READY(_ackRunning);
 
   // Restart the slave with a new containerizer.
   slave.get()->terminate();