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 2013/04/12 21:04:59 UTC

svn commit: r1467417 - /incubator/mesos/trunk/src/tests/exception_tests.cpp

Author: benh
Date: Fri Apr 12 19:04:58 2013
New Revision: 1467417

URL: http://svn.apache.org/r1467417
Log:
Fixed exception tests to use the latest test abstractions.

From: Jiang Yan Xu <ya...@jxu.me>
Review: https://reviews.apache.org/r/10318

Modified:
    incubator/mesos/trunk/src/tests/exception_tests.cpp

Modified: incubator/mesos/trunk/src/tests/exception_tests.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/src/tests/exception_tests.cpp?rev=1467417&r1=1467416&r2=1467417&view=diff
==============================================================================
--- incubator/mesos/trunk/src/tests/exception_tests.cpp (original)
+++ incubator/mesos/trunk/src/tests/exception_tests.cpp Fri Apr 12 19:04:58 2013
@@ -42,6 +42,7 @@ using mesos::internal::master::Master;
 
 using mesos::internal::slave::Slave;
 
+using process::Future;
 using process::PID;
 
 using std::string;
@@ -69,10 +70,9 @@ TEST(ExceptionTest, DeactivateFrameworkO
 
   MesosSchedulerDriver driver(&sched, DEFAULT_FRAMEWORK_INFO, master);
 
-  trigger schedRegisteredCall;
-
+  Future<Nothing> registered;
   EXPECT_CALL(sched, registered(&driver, _, _))
-    .WillOnce(Trigger(&schedRegisteredCall));
+    .WillOnce(FutureSatisfy(&registered));
 
   EXPECT_CALL(sched, resourceOffers(&driver, _))
     .WillRepeatedly(Return());
@@ -80,18 +80,16 @@ TEST(ExceptionTest, DeactivateFrameworkO
   EXPECT_CALL(sched, offerRescinded(&driver, _))
     .Times(AtMost(1));
 
-  trigger deactivateMsg;
-
-  EXPECT_MESSAGE(Eq(DeactivateFrameworkMessage().GetTypeName()), _, _)
-    .WillOnce(DoAll(Trigger(&deactivateMsg), Return(false)));
-
   driver.start();
 
-  WAIT_UNTIL(schedRegisteredCall);
+  AWAIT_UNTIL(registered);
+
+  Future<DeactivateFrameworkMessage> deactivateFrameworkMessage =
+    FUTURE_PROTOBUF(DeactivateFrameworkMessage(), _, _);
 
   ASSERT_EQ(DRIVER_ABORTED, driver.abort());
 
-  WAIT_UNTIL(deactivateMsg);
+  AWAIT_UNTIL(deactivateFrameworkMessage);
 
   driver.stop();
   local::shutdown();
@@ -108,20 +106,19 @@ TEST(ExceptionTest, DisallowSchedulerAct
 
   MesosSchedulerDriver driver(&sched, DEFAULT_FRAMEWORK_INFO, master);
 
-  trigger schedRegisteredCall;
-
+  Future<Nothing> registered;
   EXPECT_CALL(sched, registered(&driver, _, _))
-    .WillOnce(Trigger(&schedRegisteredCall));
+    .WillOnce(FutureSatisfy(&registered));
 
   EXPECT_CALL(sched, resourceOffers(&driver, _))
     .WillRepeatedly(Return());
 
-  EXPECT_CALL(sched, offerRescinded(&driver, _))
-    .Times(AtMost(1));
-
   driver.start();
 
-  WAIT_UNTIL(schedRegisteredCall);
+  AWAIT_UNTIL(registered);
+
+  EXPECT_CALL(sched, offerRescinded(&driver, _))
+    .Times(AtMost(1));
 
   ASSERT_EQ(DRIVER_ABORTED, driver.abort());
 
@@ -145,14 +142,19 @@ TEST(ExceptionTest, DisallowSchedulerCal
   EXPECT_CALL(sched, registered(&driver, _, _))
     .Times(1);
 
-  trigger resourceOffersCall;
-  vector<Offer> offers;
-
+  Future<vector<Offer> > offers;
   EXPECT_CALL(sched, resourceOffers(&driver, _))
-    .WillOnce(DoAll(SaveArg<1>(&offers),
-                    Trigger(&resourceOffersCall)))
+    .WillOnce(FutureArg<1>(&offers))
     .WillRepeatedly(Return());
 
+  Future<process::Message> message =
+    FUTURE_MESSAGE(Eq(FrameworkRegisteredMessage().GetTypeName()), _, _);
+
+  driver.start();
+
+  AWAIT_UNTIL(offers);
+  EXPECT_NE(0u, offers.get().size());
+
   // None of these callbacks should be invoked.
   EXPECT_CALL(sched, offerRescinded(&driver, _))
     .Times(0);
@@ -169,38 +171,26 @@ TEST(ExceptionTest, DisallowSchedulerCal
   EXPECT_CALL(sched, error(&driver, _))
       .Times(0);
 
-  process::Message message;
-  trigger rescindMsg, unregisterMsg;
-
-  EXPECT_MESSAGE(Eq(FrameworkRegisteredMessage().GetTypeName()), _, _)
-    .WillOnce(DoAll(SaveArgField<0>(&process::MessageEvent::message, &message),
-                    Return(false)));
-
-  EXPECT_MESSAGE(Eq(RescindResourceOfferMessage().GetTypeName()), _, _)
-    .WillOnce(DoAll(Trigger(&rescindMsg), Return(false)));
-
-  EXPECT_MESSAGE(Eq(UnregisterFrameworkMessage().GetTypeName()), _, _)
-      .WillOnce(DoAll(Trigger(&unregisterMsg), Return(false)));
-
-  driver.start();
-
-  WAIT_UNTIL(resourceOffersCall);
-  EXPECT_NE(0u, offers.size());
-
-
   ASSERT_EQ(DRIVER_ABORTED, driver.abort());
 
+  Future<RescindResourceOfferMessage> rescindMsg =
+    FUTURE_PROTOBUF(RescindResourceOfferMessage(), _, _);
+
   // Simulate a message from master to the scheduler.
   RescindResourceOfferMessage rescindMessage;
-  rescindMessage.mutable_offer_id()->MergeFrom(offers[0].id());
+  rescindMessage.mutable_offer_id()->MergeFrom(offers.get()[0].id());
+
+  process::post(message.get().to, rescindMessage);
 
-  process::post(message.to, rescindMessage);
+  AWAIT_UNTIL(rescindMsg);
 
-  WAIT_UNTIL(rescindMsg);
+  Future<UnregisterFrameworkMessage> unregisterMsg =
+    FUTURE_PROTOBUF(UnregisterFrameworkMessage(), _, _);
 
   driver.stop();
 
-  WAIT_UNTIL(unregisterMsg); //Ensures reception of RescindResourceOfferMessage.
+  //Ensures reception of RescindResourceOfferMessage.
+  AWAIT_UNTIL(unregisterMsg);
 
   local::shutdown();
 }