You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by vi...@apache.org on 2015/09/25 01:49:26 UTC

mesos git commit: Fixed flaky Executor HTTP tests.

Repository: mesos
Updated Branches:
  refs/heads/master 2c17e5642 -> 16159a1aa


Fixed flaky Executor HTTP tests.

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


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

Branch: refs/heads/master
Commit: 16159a1aa0a04821168572df19a50ef98b458fe5
Parents: 2c17e56
Author: Anand Mazumdar <ma...@gmail.com>
Authored: Thu Sep 24 16:48:58 2015 -0700
Committer: Vinod Kone <vi...@gmail.com>
Committed: Thu Sep 24 16:48:58 2015 -0700

----------------------------------------------------------------------
 src/tests/executor_http_api_tests.cpp | 66 +++++++++++++++++++++++++-----
 1 file changed, 56 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/16159a1a/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 9dbc519..c2c05f4 100644
--- a/src/tests/executor_http_api_tests.cpp
+++ b/src/tests/executor_http_api_tests.cpp
@@ -22,6 +22,7 @@
 
 #include <mesos/http.hpp>
 
+#include <process/clock.hpp>
 #include <process/future.hpp>
 #include <process/gtest.hpp>
 #include <process/http.hpp>
@@ -39,6 +40,7 @@ using mesos::internal::slave::Slave;
 
 using mesos::v1::executor::Call;
 
+using process::Clock;
 using process::Future;
 using process::PID;
 
@@ -85,13 +87,17 @@ TEST_F(ExecutorHttpApiTest, NoContentType)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  // Wait for recovery to be complete.
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   Call call;
   call.set_type(Call::MESSAGE);
 
@@ -119,12 +125,17 @@ TEST_F(ExecutorHttpApiTest, ValidJsonButInvalidProtobuf)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   JSON::Object object;
   object.values["string"] = "valid_json";
 
@@ -151,12 +162,17 @@ TEST_P(ExecutorHttpApiTest, MalformedContent)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   const string body = "MALFORMED_CONTENT";
 
   const ContentType contentType = GetParam();
@@ -183,12 +199,17 @@ TEST_P(ExecutorHttpApiTest, UnsupportedContentMediaType)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   ContentType contentType = GetParam();
   hashmap<string, string> headers;
   headers["Accept"] = stringify(contentType);
@@ -221,12 +242,17 @@ TEST_P(ExecutorHttpApiTest, MessageFromUnknownFramework)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   ContentType contentType = GetParam();
   hashmap<string, string> headers;
   headers["Accept"] = stringify(contentType);
@@ -258,12 +284,17 @@ TEST_F(ExecutorHttpApiTest, GetRequest)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   Future<Response> response = process::http::get(
       slave.get(),
       "api/v1/executor");
@@ -283,12 +314,17 @@ TEST_P(ExecutorHttpApiTest, DefaultAccept)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   hashmap<string, string> headers;
   headers["Accept"] = "*/*";
 
@@ -324,12 +360,17 @@ TEST_P(ExecutorHttpApiTest, NoAcceptHeader)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   // Retrieve the parameter passed as content type to this test.
   const ContentType contentType = GetParam();
 
@@ -365,12 +406,17 @@ TEST_P(ExecutorHttpApiTest, NotAcceptable)
   Try<PID<Master>> master = StartMaster();
   ASSERT_SOME(master);
 
+  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
+
   Try<PID<Slave>> slave = StartSlave();
   ASSERT_SOME(slave);
 
-  Future<Nothing> __recover = FUTURE_DISPATCH(_, &Slave::__recover);
   AWAIT_READY(__recover);
 
+  // Wait for recovery to be complete.
+  Clock::pause();
+  Clock::settle();
+
   // Retrieve the parameter passed as content type to this test.
   const ContentType contentType = GetParam();