You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ne...@apache.org on 2017/05/27 03:53:22 UTC

mesos git commit: Made MasterTest.MaxCompletedTasksPerFrameworkFlag less fragile.

Repository: mesos
Updated Branches:
  refs/heads/master e45dd39c7 -> 0303b8d23


Made MasterTest.MaxCompletedTasksPerFrameworkFlag less fragile.

Rather than depending on batch allocations to eventually occur, pause
the clock and explicitly advance it when we want to trigger a batch
allocation. This improves both test robustness and speed.

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


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

Branch: refs/heads/master
Commit: 0303b8d23b8b305fc9403f206f88237b62611b85
Parents: e45dd39
Author: Neil Conway <ne...@gmail.com>
Authored: Thu May 25 10:52:35 2017 -0700
Committer: Neil Conway <ne...@gmail.com>
Committed: Fri May 26 20:53:09 2017 -0700

----------------------------------------------------------------------
 src/tests/master_tests.cpp | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/0303b8d2/src/tests/master_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_tests.cpp b/src/tests/master_tests.cpp
index 4ae367d..490d7ed 100644
--- a/src/tests/master_tests.cpp
+++ b/src/tests/master_tests.cpp
@@ -5634,6 +5634,8 @@ TEST_F(MasterTest, MaxCompletedTasksPerFrameworkFlag)
   const size_t totalTasksPerFramework = 2;
   const size_t maxTasksPerFrameworkArray[] = {0, 1, 2};
 
+  Clock::pause();
+
   foreach (const size_t maxTasksPerFramework, maxTasksPerFrameworkArray) {
     master::Flags masterFlags = CreateMasterFlags();
     masterFlags.max_completed_tasks_per_framework = maxTasksPerFramework;
@@ -5645,11 +5647,18 @@ TEST_F(MasterTest, MaxCompletedTasksPerFrameworkFlag)
     TestContainerizer containerizer(&exec);
     EXPECT_CALL(exec, registered(_, _, _, _));
 
+    Future<SlaveRegisteredMessage> slaveRegisteredMessage =
+      FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _);
+
     Owned<MasterDetector> detector = master.get()->createDetector();
+    slave::Flags agentFlags = CreateSlaveFlags();
     Try<Owned<cluster::Slave>> slave =
-      StartSlave(detector.get(), &containerizer);
+      StartSlave(detector.get(), &containerizer, agentFlags);
     ASSERT_SOME(slave);
 
+    Clock::advance(agentFlags.registration_backoff_factor);
+    AWAIT_READY(slaveRegisteredMessage);
+
     MockScheduler sched;
     MesosSchedulerDriver schedDriver(
         &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
@@ -5667,6 +5676,9 @@ TEST_F(MasterTest, MaxCompletedTasksPerFrameworkFlag)
     AWAIT_READY(schedRegistered);
 
     for (size_t i = 0; i < totalTasksPerFramework; i++) {
+      // Trigger a batch allocation.
+      Clock::advance(masterFlags.allocation_interval);
+
       Future<Offer> offer = offers.get();
       AWAIT_READY(offer);