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

[4/4] mesos git commit: Minor test logic cleanup for HTTP based executor tests.

Minor test logic cleanup for HTTP based executor tests.

The executor erroneously tried to subscribe with the agent after
launching a task. This won't work post the fix for MESOS-6322.


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

Branch: refs/heads/master
Commit: 1fe48d388af378176be02b814bb3c7109b90a40d
Parents: e6ab343
Author: Anand Mazumdar <an...@apache.org>
Authored: Fri Oct 7 20:49:03 2016 -0700
Committer: Anand Mazumdar <an...@apache.org>
Committed: Fri Oct 7 20:59:10 2016 -0700

----------------------------------------------------------------------
 src/tests/executor_http_api_tests.cpp | 44 ++++++++++++------------------
 1 file changed, 17 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/1fe48d38/src/tests/executor_http_api_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/executor_http_api_tests.cpp b/src/tests/executor_http_api_tests.cpp
index 9d3281c..a9f1a7b 100644
--- a/src/tests/executor_http_api_tests.cpp
+++ b/src/tests/executor_http_api_tests.cpp
@@ -331,9 +331,10 @@ TEST_P(ExecutorHttpApiTest, DefaultAccept)
   Try<Owned<cluster::Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  auto executor = std::make_shared<MockV1HTTPExecutor>();
+
   ExecutorID executorId = DEFAULT_EXECUTOR_ID;
-  MockExecutor exec(executorId);
-  TestContainerizer containerizer(&exec);
+  TestContainerizer containerizer(executorId, executor);
 
   Owned<MasterDetector> detector = master.get()->createDetector();
   Try<Owned<cluster::Slave>> slave = StartSlave(detector.get(), &containerizer);
@@ -351,10 +352,6 @@ TEST_P(ExecutorHttpApiTest, DefaultAccept)
   EXPECT_CALL(sched, resourceOffers(&driver, _))
     .WillOnce(FutureArg<1>(&offers));
 
-  Future<Nothing> statusUpdate;
-  EXPECT_CALL(sched, statusUpdate(&driver, _))
-    .WillOnce(FutureSatisfy(&statusUpdate));
-
   driver.start();
 
   AWAIT_READY(frameworkId);
@@ -362,18 +359,16 @@ TEST_P(ExecutorHttpApiTest, DefaultAccept)
 
   ASSERT_EQ(1u, offers.get().size());
 
-  EXPECT_CALL(exec, registered(_, _, _, _))
-    .Times(1);
-
-  EXPECT_CALL(exec, launchTask(_, _))
-    .WillOnce(SendStatusUpdateFromTask(TASK_RUNNING));
+  Future<v1::executor::Mesos*> executorLib;
+  EXPECT_CALL(*executor, connected(_))
+    .WillOnce(FutureArg<0>(&executorLib));
 
   TaskInfo taskInfo = createTask(offers.get()[0], "", executorId);
   driver.launchTasks(offers.get()[0].id(), {taskInfo});
 
-  // Wait until status update is received on the scheduler
-  // before sending an executor subscribe request.
-  AWAIT_READY(statusUpdate);
+  // Wait for the executor to be launched before sending
+  // an executor subscribe request.
+  AWAIT_READY(executorLib);
 
   // Only subscribe needs to 'Accept' JSON or protobuf.
   Call call;
@@ -413,9 +408,10 @@ TEST_P(ExecutorHttpApiTest, NoAcceptHeader)
   Try<Owned<cluster::Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  auto executor = std::make_shared<MockV1HTTPExecutor>();
+
   ExecutorID executorId = DEFAULT_EXECUTOR_ID;
-  MockExecutor exec(executorId);
-  TestContainerizer containerizer(&exec);
+  TestContainerizer containerizer(executorId, executor);
 
   Owned<MasterDetector> detector = master.get()->createDetector();
   Try<Owned<cluster::Slave>> slave = StartSlave(detector.get(), &containerizer);
@@ -433,10 +429,6 @@ TEST_P(ExecutorHttpApiTest, NoAcceptHeader)
   EXPECT_CALL(sched, resourceOffers(&driver, _))
     .WillOnce(FutureArg<1>(&offers));
 
-  Future<Nothing> statusUpdate;
-  EXPECT_CALL(sched, statusUpdate(&driver, _))
-    .WillOnce(FutureSatisfy(&statusUpdate));
-
   driver.start();
 
   AWAIT_READY(frameworkId);
@@ -444,18 +436,16 @@ TEST_P(ExecutorHttpApiTest, NoAcceptHeader)
 
   ASSERT_EQ(1u, offers.get().size());
 
-  EXPECT_CALL(exec, registered(_, _, _, _))
-    .Times(1);
-
-  EXPECT_CALL(exec, launchTask(_, _))
-    .WillOnce(SendStatusUpdateFromTask(TASK_RUNNING));
+  Future<v1::executor::Mesos*> executorLib;
+  EXPECT_CALL(*executor, connected(_))
+    .WillOnce(FutureArg<0>(&executorLib));
 
   TaskInfo taskInfo = createTask(offers.get()[0], "", executorId);
   driver.launchTasks(offers.get()[0].id(), {taskInfo});
 
-  // Wait until status update is received on the scheduler before sending
+  // Wait for the executor to be launched before sending
   // an executor subscribe request.
-  AWAIT_READY(statusUpdate);
+  AWAIT_READY(executorLib);
 
   // Only subscribe needs to 'Accept' JSON or protobuf.
   Call call;