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(®istered));
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(®istered));
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();
}