You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2012/11/04 02:29:54 UTC
svn commit: r1405466 -
/incubator/mesos/branches/0.10.0/src/tests/master_tests.cpp
Author: benh
Date: Sun Nov 4 01:29:53 2012
New Revision: 1405466
URL: http://svn.apache.org/viewvc?rev=1405466&view=rev
Log:
Fixed timing bug in a test that was non-deterministically occuring.
Modified:
incubator/mesos/branches/0.10.0/src/tests/master_tests.cpp
Modified: incubator/mesos/branches/0.10.0/src/tests/master_tests.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/branches/0.10.0/src/tests/master_tests.cpp?rev=1405466&r1=1405465&r2=1405466&view=diff
==============================================================================
--- incubator/mesos/branches/0.10.0/src/tests/master_tests.cpp (original)
+++ incubator/mesos/branches/0.10.0/src/tests/master_tests.cpp Sun Nov 4 01:29:53 2012
@@ -272,21 +272,6 @@ TEST(MasterTest, RecoverResources)
MockExecutor exec;
- trigger killTaskCall, shutdownCall;
-
- EXPECT_CALL(exec, registered(_, _, _, _))
- .Times(1);
-
- EXPECT_CALL(exec, launchTask(_, _))
- .WillOnce(SendStatusUpdateFromTask(TASK_RUNNING));
-
- EXPECT_CALL(exec, killTask(_, _))
- .WillOnce(DoAll(Trigger(&killTaskCall),
- SendStatusUpdateFromTaskID(TASK_KILLED)));
-
- EXPECT_CALL(exec, shutdown(_))
- .WillOnce(Trigger(&shutdownCall));
-
map<ExecutorID, Executor*> execs;
execs[DEFAULT_EXECUTOR_ID] = &exec;
@@ -329,7 +314,8 @@ TEST(MasterTest, RecoverResources)
.WillRepeatedly(Return());
EXPECT_CALL(sched, statusUpdate(&driver, _))
- .WillRepeatedly(DoAll(SaveArg<1>(&status), Trigger(&statusUpdateCall)));
+ .WillRepeatedly(DoAll(SaveArg<1>(&status),
+ Trigger(&statusUpdateCall)));
driver.start();
@@ -352,12 +338,23 @@ TEST(MasterTest, RecoverResources)
vector<TaskInfo> tasks;
tasks.push_back(task);
+ EXPECT_CALL(exec, registered(_, _, _, _))
+ .Times(1);
+
+ EXPECT_CALL(exec, launchTask(_, _))
+ .WillOnce(SendStatusUpdateFromTask(TASK_RUNNING));
+
driver.launchTasks(offers1[0].id(), tasks);
WAIT_UNTIL(statusUpdateCall);
EXPECT_EQ(TASK_RUNNING, status.state());
+ trigger killTaskCall;
+ EXPECT_CALL(exec, killTask(_, _))
+ .WillOnce(DoAll(Trigger(&killTaskCall),
+ SendStatusUpdateFromTaskID(TASK_KILLED)));
+
driver.killTask(taskId);
WAIT_UNTIL(killTaskCall);
@@ -372,7 +369,7 @@ TEST(MasterTest, RecoverResources)
driver.declineOffer(offer.id());
- // Now simulate a executorExited call to the slave.
+ // Now simulate an executorExited call to the slave.
process::dispatch(slave,
&Slave::executorExited,
offer.framework_id(),
@@ -388,6 +385,11 @@ TEST(MasterTest, RecoverResources)
driver.stop();
driver.join();
+ // The mock executor might get a shutdown in this case when the
+ // slave exits (since the driver links with the slave).
+ EXPECT_CALL(exec, shutdown(_))
+ .Times(AtMost(1));
+
process::terminate(slave);
process::wait(slave);