| Index: sync/engine/sync_scheduler_unittest.cc
|
| diff --git a/sync/engine/sync_scheduler_unittest.cc b/sync/engine/sync_scheduler_unittest.cc
|
| index 63dc3c3cc7e2baa525456dda55bec939108c14c2..dfb067aaa2965d1c60c859d30650f8c56640dcb0 100644
|
| --- a/sync/engine/sync_scheduler_unittest.cc
|
| +++ b/sync/engine/sync_scheduler_unittest.cc
|
| @@ -42,7 +42,7 @@ using sync_pb::GetUpdatesCallerInfo;
|
|
|
| class MockSyncer : public Syncer {
|
| public:
|
| - MOCK_METHOD3(SyncShare, void(sessions::SyncSession*, SyncerStep,
|
| + MOCK_METHOD3(SyncShare, bool(sessions::SyncSession*, SyncerStep,
|
| SyncerStep));
|
| };
|
|
|
| @@ -101,6 +101,7 @@ class SyncSchedulerTest : public testing::Test {
|
| };
|
|
|
| virtual void SetUp() {
|
| + message_loop_.reset(new MessageLoop());
|
| dir_maker_.SetUp();
|
| syncer_ = new MockSyncer();
|
| delay_ = NULL;
|
| @@ -110,6 +111,7 @@ class SyncSchedulerTest : public testing::Test {
|
| routing_info_[THEMES] = GROUP_UI;
|
| routing_info_[NIGORI] = GROUP_PASSIVE;
|
|
|
| + workers_.clear();
|
| workers_.push_back(make_scoped_refptr(new FakeModelWorker(GROUP_UI)));
|
| workers_.push_back(make_scoped_refptr(new FakeModelWorker(GROUP_DB)));
|
| workers_.push_back(make_scoped_refptr(new FakeModelWorker(GROUP_PASSIVE)));
|
| @@ -223,7 +225,7 @@ class SyncSchedulerTest : public testing::Test {
|
| }
|
|
|
| base::WeakPtrFactory<SyncSchedulerTest> weak_ptr_factory_;
|
| - MessageLoop message_loop_;
|
| + scoped_ptr<MessageLoop> message_loop_;
|
| TestDirectorySetterUpper dir_maker_;
|
| scoped_ptr<MockConnectionManager> connection_;
|
| scoped_ptr<SyncSessionContext> context_;
|
| @@ -245,6 +247,7 @@ ACTION_P(RecordSyncShare, record) {
|
| RecordSyncShareImpl(arg0, record);
|
| if (MessageLoop::current()->is_running())
|
| QuitLoopNow();
|
| + return true;
|
| }
|
|
|
| ACTION_P2(RecordSyncShareMultiple, record, quit_after) {
|
| @@ -254,15 +257,18 @@ ACTION_P2(RecordSyncShareMultiple, record, quit_after) {
|
| MessageLoop::current()->is_running()) {
|
| QuitLoopNow();
|
| }
|
| + return true;
|
| }
|
|
|
| ACTION(AddFailureAndQuitLoopNow) {
|
| ADD_FAILURE();
|
| QuitLoopNow();
|
| + return true;
|
| }
|
|
|
| ACTION(QuitLoopNowAction) {
|
| QuitLoopNow();
|
| + return true;
|
| }
|
|
|
| // Test nudge scheduling.
|
| @@ -645,8 +651,10 @@ TEST_F(SyncSchedulerTest, PollIntervalUpdate) {
|
| TimeDelta poll2(TimeDelta::FromMilliseconds(30));
|
| scheduler()->OnReceivedLongPollIntervalUpdate(poll1);
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_)).Times(AtLeast(kMinNumSamples))
|
| - .WillOnce(WithArg<0>(
|
| - sessions::test_util::SimulatePollIntervalUpdate(poll2)))
|
| + .WillOnce(DoAll(
|
| + WithArg<0>(
|
| + sessions::test_util::SimulatePollIntervalUpdate(poll2)),
|
| + Return(true)))
|
| .WillRepeatedly(
|
| DoAll(Invoke(sessions::test_util::SimulateSuccess),
|
| WithArg<0>(
|
| @@ -694,7 +702,8 @@ TEST_F(SyncSchedulerTest, SessionsCommitDelay) {
|
| // Test that a sync session is run through to completion.
|
| TEST_F(SyncSchedulerTest, HasMoreToSync) {
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateHasMoreToSync))
|
| + .WillOnce(DoAll(Invoke(sessions::test_util::SimulateHasMoreToSync),
|
| + Return(true)))
|
| .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess),
|
| QuitLoopNowAction()));
|
| StartSyncScheduler(SyncScheduler::NORMAL_MODE);
|
| @@ -709,7 +718,8 @@ TEST_F(SyncSchedulerTest, HasMoreToSync) {
|
| // Test that continuations can go into backoff.
|
| TEST_F(SyncSchedulerTest, HasMoreToSyncThenFails) {
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateHasMoreToSync))
|
| + .WillOnce(DoAll(Invoke(sessions::test_util::SimulateHasMoreToSync),
|
| + Return(true)))
|
| .WillOnce(DoAll(Invoke(sessions::test_util::SimulateCommitFailed),
|
| QuitLoopNowAction()));
|
| StartSyncScheduler(SyncScheduler::NORMAL_MODE);
|
| @@ -729,7 +739,9 @@ TEST_F(SyncSchedulerTest, ThrottlingDoesThrottle) {
|
| scheduler()->OnReceivedLongPollIntervalUpdate(poll);
|
|
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(WithArg<0>(sessions::test_util::SimulateThrottled(throttle)))
|
| + .WillOnce(DoAll(
|
| + WithArg<0>(sessions::test_util::SimulateThrottled(throttle)),
|
| + Return(true)))
|
| .WillRepeatedly(AddFailureAndQuitLoopNow());
|
|
|
| StartSyncScheduler(SyncScheduler::NORMAL_MODE);
|
| @@ -758,7 +770,9 @@ TEST_F(SyncSchedulerTest, ThrottlingExpires) {
|
|
|
| ::testing::InSequence seq;
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(WithArg<0>(sessions::test_util::SimulateThrottled(throttle1)))
|
| + .WillOnce(DoAll(
|
| + WithArg<0>(sessions::test_util::SimulateThrottled(throttle1)),
|
| + Return(true)))
|
| .RetiresOnSaturation();
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| .WillRepeatedly(DoAll(Invoke(sessions::test_util::SimulateSuccess),
|
| @@ -856,7 +870,9 @@ TEST_F(BackoffTriggersSyncSchedulerTest, FailCommitOnce) {
|
| // retry. Expect that this clears the backoff state.
|
| TEST_F(BackoffTriggersSyncSchedulerTest, FailDownloadOnceThenSucceed) {
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateDownloadUpdatesFailed))
|
| + .WillOnce(DoAll(
|
| + Invoke(sessions::test_util::SimulateDownloadUpdatesFailed),
|
| + Return(true)))
|
| .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess),
|
| QuitLoopNowAction()));
|
| EXPECT_FALSE(RunAndGetBackoff());
|
| @@ -866,7 +882,9 @@ TEST_F(BackoffTriggersSyncSchedulerTest, FailDownloadOnceThenSucceed) {
|
| // that this clears the backoff state.
|
| TEST_F(BackoffTriggersSyncSchedulerTest, FailCommitOnceThenSucceed) {
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateCommitFailed))
|
| + .WillOnce(DoAll(
|
| + Invoke(sessions::test_util::SimulateCommitFailed),
|
| + Return(true)))
|
| .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess),
|
| QuitLoopNowAction()));
|
| EXPECT_FALSE(RunAndGetBackoff());
|
| @@ -876,7 +894,9 @@ TEST_F(BackoffTriggersSyncSchedulerTest, FailCommitOnceThenSucceed) {
|
| // Expect this will leave the scheduler in backoff.
|
| TEST_F(BackoffTriggersSyncSchedulerTest, FailDownloadTwice) {
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateDownloadUpdatesFailed))
|
| + .WillOnce(DoAll(
|
| + Invoke(sessions::test_util::SimulateDownloadUpdatesFailed),
|
| + Return(true)))
|
| .WillRepeatedly(DoAll(
|
| Invoke(sessions::test_util::SimulateDownloadUpdatesFailed),
|
| QuitLoopNowAction()));
|
| @@ -887,7 +907,9 @@ TEST_F(BackoffTriggersSyncSchedulerTest, FailDownloadTwice) {
|
| // updates. Expect this will leave the scheduler in backoff.
|
| TEST_F(BackoffTriggersSyncSchedulerTest, FailGetEncryptionKey) {
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateGetEncryptionKeyFailed))
|
| + .WillOnce(DoAll(
|
| + Invoke(sessions::test_util::SimulateGetEncryptionKeyFailed),
|
| + Return(true)))
|
| .WillRepeatedly(DoAll(
|
| Invoke(sessions::test_util::SimulateGetEncryptionKeyFailed),
|
| QuitLoopNowAction()));
|
| @@ -1069,7 +1091,8 @@ TEST_F(SyncSchedulerTest, TransientPollFailure) {
|
| TEST_F(SyncSchedulerTest, SyncerSteps) {
|
| // Nudges.
|
| EXPECT_CALL(*syncer(), SyncShare(_, SYNCER_BEGIN, SYNCER_END))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateSuccess));
|
| + .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess),
|
| + Return(true)));
|
| StartSyncScheduler(SyncScheduler::NORMAL_MODE);
|
|
|
| scheduler()->ScheduleNudgeAsync(
|
| @@ -1083,7 +1106,8 @@ TEST_F(SyncSchedulerTest, SyncerSteps) {
|
|
|
| // Configuration.
|
| EXPECT_CALL(*syncer(), SyncShare(_, DOWNLOAD_UPDATES, APPLY_UPDATES))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateSuccess));
|
| + .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess),
|
| + Return(true)));
|
| StartSyncScheduler(SyncScheduler::CONFIGURATION_MODE);
|
|
|
| ModelTypeSet model_types(BOOKMARKS);
|
| @@ -1124,8 +1148,10 @@ TEST_F(SyncSchedulerTest, StartWhenNotConnected) {
|
| connection()->SetServerNotReachable();
|
| connection()->UpdateConnectionStatus();
|
| EXPECT_CALL(*syncer(), SyncShare(_,_,_))
|
| - .WillOnce(Invoke(sessions::test_util::SimulateConnectionFailure))
|
| - .WillOnce(QuitLoopNowAction());
|
| + .WillOnce(DoAll(Invoke(sessions::test_util::SimulateConnectionFailure),
|
| + Return(true)))
|
| + .WillOnce(DoAll(Invoke(sessions::test_util::SimulateSuccess),
|
| + QuitLoopNowAction()));
|
| StartSyncScheduler(SyncScheduler::NORMAL_MODE);
|
|
|
| scheduler()->ScheduleNudgeAsync(
|
|
|