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();