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 2016/07/22 18:51:50 UTC

[3/4] mesos git commit: Fixed flakiness in persistent volume test case.

Fixed flakiness in persistent volume test case.

In PersistentVolumeEndpointsTest.OfferCreateThenEndpointRemove,
add an extra offer cycle. Along the way, clean up some comments.

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


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

Branch: refs/heads/1.0.x
Commit: 614ffcd835845d8b2f04e0a5ef07cd58191c03d6
Parents: ff5e084
Author: Neil Conway <ne...@gmail.com>
Authored: Mon Jul 18 17:38:03 2016 +0200
Committer: Vinod Kone <vi...@gmail.com>
Committed: Fri Jul 22 11:48:40 2016 -0700

----------------------------------------------------------------------
 src/tests/persistent_volume_endpoints_tests.cpp | 35 +++++++++++++++-----
 1 file changed, 26 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/614ffcd8/src/tests/persistent_volume_endpoints_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/persistent_volume_endpoints_tests.cpp b/src/tests/persistent_volume_endpoints_tests.cpp
index 2348f13..266c2a0 100644
--- a/src/tests/persistent_volume_endpoints_tests.cpp
+++ b/src/tests/persistent_volume_endpoints_tests.cpp
@@ -1588,7 +1588,7 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
   // Reserve the resources.
   driver.acceptOffers({offer.id()}, {RESERVE(dynamicallyReserved)}, filters);
 
-  // In the next offer, expect an offer with reserved resources.
+  // Expect an offer with reserved resources.
   AWAIT_READY(offers);
 
   ASSERT_EQ(1u, offers.get().size());
@@ -1607,13 +1607,12 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
       frameworkInfo.principal());
 
   EXPECT_CALL(sched, resourceOffers(&driver, _))
-    .WillOnce(FutureArg<1>(&offers))
-    .WillRepeatedly(Return()); // Ignore subsequent offers.
+    .WillOnce(FutureArg<1>(&offers));
 
   // Create the volume.
   driver.acceptOffers({offer.id()}, {CREATE(volume)}, filters);
 
-  // In the next offer, expect an offer with a persistent volume.
+  // Expect an offer with a persistent volume.
   AWAIT_READY(offers);
 
   ASSERT_EQ(1u, offers.get().size());
@@ -1626,6 +1625,10 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
   EXPECT_CALL(sched, offerRescinded(&driver, _))
     .WillOnce(FutureArg<1>(&rescindedOfferId));
 
+  EXPECT_CALL(sched, resourceOffers(&driver, _))
+    .WillOnce(FutureArg<1>(&offers));
+
+  // Destroy the volume using HTTP operator endpoint.
   Future<Response> destroyResponse = process::http::post(
       master.get()->pid,
       "destroy-volumes",
@@ -1635,13 +1638,23 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
   AWAIT_EXPECT_RESPONSE_STATUS_EQ(Accepted().status, destroyResponse);
 
   AWAIT_READY(rescindedOfferId);
-
   EXPECT_EQ(rescindedOfferId.get(), offer.id());
 
-  // Expect an offer containing only unreserved resources.
+  // Expect an offer containing reserved resources.
+  AWAIT_READY(offers);
+
+  ASSERT_EQ(1u, offers.get().size());
+  offer = offers.get()[0];
+
+  EXPECT_TRUE(Resources(offer.resources()).contains(dynamicallyReserved));
+
+  EXPECT_CALL(sched, offerRescinded(&driver, _))
+    .WillOnce(FutureArg<1>(&rescindedOfferId));
+
   EXPECT_CALL(sched, resourceOffers(&driver, _))
     .WillOnce(FutureArg<1>(&offers));
 
+  // Unreserve the resources using HTTP operator endpoint.
   Future<Response> unreserveResponse = process::http::post(
       master.get()->pid,
       "unreserve",
@@ -1650,6 +1663,10 @@ TEST_F(PersistentVolumeEndpointsTest, OfferCreateThenEndpointRemove)
 
   AWAIT_EXPECT_RESPONSE_STATUS_EQ(Accepted().status, unreserveResponse);
 
+  AWAIT_READY(rescindedOfferId);
+  EXPECT_EQ(rescindedOfferId.get(), offer.id());
+
+  // Expect an offer containing only unreserved resources.
   AWAIT_READY(offers);
 
   ASSERT_EQ(1u, offers.get().size());
@@ -1728,12 +1745,12 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
 
   EXPECT_CALL(sched, registered(&driver, _, _));
 
-  // Expect an offer containing the persistent volume.
   EXPECT_CALL(sched, resourceOffers(&driver, _))
     .WillOnce(FutureArg<1>(&offers));
 
   driver.start();
 
+  // Expect an offer containing the persistent volume.
   AWAIT_READY(offers);
 
   ASSERT_EQ(1u, offers.get().size());
@@ -1746,7 +1763,6 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
   Filters filters;
   filters.set_refuse_seconds(0);
 
-  // Expect an offer containing the dynamic reservation.
   EXPECT_CALL(sched, resourceOffers(&driver, _))
     .WillOnce(FutureArg<1>(&offers));
 
@@ -1755,6 +1771,7 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
       {DESTROY(volume)},
       filters);
 
+  // Expect an offer containing the dynamic reservation.
   AWAIT_READY(offers);
 
   ASSERT_EQ(1u, offers.get().size());
@@ -1762,13 +1779,13 @@ TEST_F(PersistentVolumeEndpointsTest, EndpointCreateThenOfferRemove)
 
   EXPECT_TRUE(Resources(offer.resources()).contains(dynamicallyReserved));
 
-  // Expect an offer containing only unreserved resources.
   EXPECT_CALL(sched, resourceOffers(&driver, _))
     .WillOnce(FutureArg<1>(&offers));
 
   // Unreserve the resources.
   driver.acceptOffers({offer.id()}, {UNRESERVE(dynamicallyReserved)}, filters);
 
+  // Expect an offer containing only unreserved resources.
   AWAIT_READY(offers);
 
   ASSERT_EQ(1u, offers.get().size());