Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(398)

Side by Side Diff: sync/engine/sync_scheduler_whitebox_unittest.cc

Issue 10825439: sync: remove buggy freshness condition in SyncSchedulerImpl add defensive DCHECKs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: FIX Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « sync/engine/sync_scheduler_unittest.cc ('k') | sync/sessions/test_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/message_loop.h" 5 #include "base/message_loop.h"
6 #include "base/time.h" 6 #include "base/time.h"
7 #include "sync/engine/backoff_delay_provider.h" 7 #include "sync/engine/backoff_delay_provider.h"
8 #include "sync/engine/sync_scheduler_impl.h" 8 #include "sync/engine/sync_scheduler_impl.h"
9 #include "sync/engine/throttled_data_type_tracker.h" 9 #include "sync/engine/throttled_data_type_tracker.h"
10 #include "sync/internal_api/public/engine/polling_constants.h" 10 #include "sync/internal_api/public/engine/polling_constants.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 } 64 }
65 65
66 virtual void TearDown() { 66 virtual void TearDown() {
67 scheduler_.reset(); 67 scheduler_.reset();
68 } 68 }
69 69
70 void SetMode(SyncScheduler::Mode mode) { 70 void SetMode(SyncScheduler::Mode mode) {
71 scheduler_->mode_ = mode; 71 scheduler_->mode_ = mode;
72 } 72 }
73 73
74 void SetLastSyncedTime(base::TimeTicks ticks) {
75 scheduler_->last_sync_session_end_time_ = ticks;
76 }
77
78 void ResetWaitInterval() { 74 void ResetWaitInterval() {
79 scheduler_->wait_interval_.reset(); 75 scheduler_->wait_interval_.reset();
80 } 76 }
81 77
82 void SetWaitIntervalToThrottled() { 78 void SetWaitIntervalToThrottled() {
83 scheduler_->wait_interval_.reset(new SyncSchedulerImpl::WaitInterval( 79 scheduler_->wait_interval_.reset(new SyncSchedulerImpl::WaitInterval(
84 SyncSchedulerImpl::WaitInterval::THROTTLED, TimeDelta::FromSeconds(1))); 80 SyncSchedulerImpl::WaitInterval::THROTTLED, TimeDelta::FromSeconds(1)));
85 } 81 }
86 82
87 void SetWaitIntervalToExponentialBackoff() { 83 void SetWaitIntervalToExponentialBackoff() {
88 scheduler_->wait_interval_.reset( 84 scheduler_->wait_interval_.reset(
89 new SyncSchedulerImpl::WaitInterval( 85 new SyncSchedulerImpl::WaitInterval(
90 SyncSchedulerImpl::WaitInterval::EXPONENTIAL_BACKOFF, 86 SyncSchedulerImpl::WaitInterval::EXPONENTIAL_BACKOFF,
91 TimeDelta::FromSeconds(1))); 87 TimeDelta::FromSeconds(1)));
92 } 88 }
93 89
94 void SetWaitIntervalHadNudge(bool had_nudge) { 90 void SetWaitIntervalHadNudge(bool had_nudge) {
95 scheduler_->wait_interval_->had_nudge = had_nudge; 91 scheduler_->wait_interval_->had_nudge = had_nudge;
96 } 92 }
97 93
98 SyncSchedulerImpl::JobProcessDecision DecideOnJob( 94 SyncSchedulerImpl::JobProcessDecision DecideOnJob(
99 const SyncSchedulerImpl::SyncSessionJob& job) { 95 const SyncSchedulerImpl::SyncSessionJob& job) {
100 return scheduler_->DecideOnJob(job); 96 return scheduler_->DecideOnJob(job);
101 } 97 }
102 98
103 void InitializeSyncerOnNormalMode() { 99 void InitializeSyncerOnNormalMode() {
104 SetMode(SyncScheduler::NORMAL_MODE); 100 SetMode(SyncScheduler::NORMAL_MODE);
105 ResetWaitInterval(); 101 ResetWaitInterval();
106 SetLastSyncedTime(base::TimeTicks::Now());
107 } 102 }
108 103
109 SyncSchedulerImpl::JobProcessDecision CreateAndDecideJob( 104 SyncSchedulerImpl::JobProcessDecision CreateAndDecideJob(
110 SyncSchedulerImpl::SyncSessionJob::SyncSessionJobPurpose purpose) { 105 SyncSchedulerImpl::SyncSessionJob::SyncSessionJobPurpose purpose) {
111 SyncSession* s = scheduler_->CreateSyncSession(SyncSourceInfo()); 106 SyncSession* s = scheduler_->CreateSyncSession(SyncSourceInfo());
112 SyncSchedulerImpl::SyncSessionJob job(purpose, TimeTicks::Now(), 107 SyncSchedulerImpl::SyncSessionJob job(purpose, TimeTicks::Now(),
113 make_linked_ptr(s), 108 make_linked_ptr(s),
114 false, 109 false,
115 ConfigurationParams(), 110 ConfigurationParams(),
116 FROM_HERE); 111 FROM_HERE);
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 struct SyncSchedulerImpl::SyncSessionJob job; 262 struct SyncSchedulerImpl::SyncSessionJob job;
268 job.purpose = SyncSchedulerImpl::SyncSessionJob::CONFIGURATION; 263 job.purpose = SyncSchedulerImpl::SyncSessionJob::CONFIGURATION;
269 job.scheduled_start = TimeTicks::Now(); 264 job.scheduled_start = TimeTicks::Now();
270 job.is_canary_job = true; 265 job.is_canary_job = true;
271 SyncSchedulerImpl::JobProcessDecision decision = DecideOnJob(job); 266 SyncSchedulerImpl::JobProcessDecision decision = DecideOnJob(job);
272 267
273 EXPECT_EQ(decision, SyncSchedulerImpl::CONTINUE); 268 EXPECT_EQ(decision, SyncSchedulerImpl::CONTINUE);
274 } 269 }
275 270
276 } // namespace syncer 271 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/engine/sync_scheduler_unittest.cc ('k') | sync/sessions/test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698