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

Side by Side Diff: chrome/browser/sync_file_system/sync_task_manager_unittest.cc

Issue 190243003: [SyncFS] Move FROM_HEREs in SyncTaskManager to its client (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 9 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 | « chrome/browser/sync_file_system/sync_task_manager.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/bind.h" 6 #include "base/bind.h"
7 #include "base/memory/weak_ptr.h" 7 #include "base/memory/weak_ptr.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "chrome/browser/sync_file_system/sync_task_manager.h" 9 #include "chrome/browser/sync_file_system/sync_task_manager.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 } 58 }
59 virtual void NotifyLastOperationStatus( 59 virtual void NotifyLastOperationStatus(
60 SyncStatusCode last_operation_status, 60 SyncStatusCode last_operation_status,
61 bool last_operation_used_network) OVERRIDE { 61 bool last_operation_used_network) OVERRIDE {
62 last_operation_status_ = last_operation_status; 62 last_operation_status_ = last_operation_status;
63 } 63 }
64 64
65 void ScheduleTask(SyncStatusCode status_to_return, 65 void ScheduleTask(SyncStatusCode status_to_return,
66 const SyncStatusCallback& callback) { 66 const SyncStatusCallback& callback) {
67 task_manager_->ScheduleTask( 67 task_manager_->ScheduleTask(
68 FROM_HERE,
68 base::Bind(&TaskManagerClient::DoTask, AsWeakPtr(), 69 base::Bind(&TaskManagerClient::DoTask, AsWeakPtr(),
69 status_to_return, false /* idle */), 70 status_to_return, false /* idle */),
70 callback); 71 callback);
71 } 72 }
72 73
73 void ScheduleTaskIfIdle(SyncStatusCode status_to_return) { 74 void ScheduleTaskIfIdle(SyncStatusCode status_to_return) {
74 task_manager_->ScheduleTaskIfIdle( 75 task_manager_->ScheduleTaskIfIdle(
76 FROM_HERE,
75 base::Bind(&TaskManagerClient::DoTask, AsWeakPtr(), 77 base::Bind(&TaskManagerClient::DoTask, AsWeakPtr(),
76 status_to_return, true /* idle */), 78 status_to_return, true /* idle */),
77 SyncStatusCallback()); 79 SyncStatusCallback());
78 } 80 }
79 81
80 int maybe_schedule_next_task_count() const { 82 int maybe_schedule_next_task_count() const {
81 return maybe_schedule_next_task_count_; 83 return maybe_schedule_next_task_count_;
82 } 84 }
83 int task_scheduled_count() const { return task_scheduled_count_; } 85 int task_scheduled_count() const { return task_scheduled_count_; }
84 int idle_task_scheduled_count() const { return idle_task_scheduled_count_; } 86 int idle_task_scheduled_count() const { return idle_task_scheduled_count_; }
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 int callback_count = 0; 240 int callback_count = 0;
239 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 241 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
240 242
241 bool task_started = false; 243 bool task_started = false;
242 bool task_completed = false; 244 bool task_completed = false;
243 245
244 { 246 {
245 SyncTaskManager task_manager((base::WeakPtr<SyncTaskManager::Client>())); 247 SyncTaskManager task_manager((base::WeakPtr<SyncTaskManager::Client>()));
246 task_manager.Initialize(SYNC_STATUS_OK); 248 task_manager.Initialize(SYNC_STATUS_OK);
247 task_manager.ScheduleSyncTask( 249 task_manager.ScheduleSyncTask(
250 FROM_HERE,
248 scoped_ptr<SyncTask>(new MultihopSyncTask( 251 scoped_ptr<SyncTask>(new MultihopSyncTask(
249 &task_started, &task_completed)), 252 &task_started, &task_completed)),
250 base::Bind(&IncrementAndAssign, 0, &callback_count, &status)); 253 base::Bind(&IncrementAndAssign, 0, &callback_count, &status));
251 } 254 }
252 255
253 message_loop.RunUntilIdle(); 256 message_loop.RunUntilIdle();
254 EXPECT_EQ(0, callback_count); 257 EXPECT_EQ(0, callback_count);
255 EXPECT_EQ(SYNC_STATUS_UNKNOWN, status); 258 EXPECT_EQ(SYNC_STATUS_UNKNOWN, status);
256 EXPECT_TRUE(task_started); 259 EXPECT_TRUE(task_started);
257 EXPECT_FALSE(task_completed); 260 EXPECT_FALSE(task_completed);
258 } 261 }
259 262
260 TEST(SyncTaskManagerTest, ScheduleAndCancelTask) { 263 TEST(SyncTaskManagerTest, ScheduleAndCancelTask) {
261 base::MessageLoop message_loop; 264 base::MessageLoop message_loop;
262 265
263 int callback_count = 0; 266 int callback_count = 0;
264 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 267 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
265 268
266 bool task_started = false; 269 bool task_started = false;
267 bool task_completed = false; 270 bool task_completed = false;
268 271
269 { 272 {
270 SyncTaskManager task_manager((base::WeakPtr<SyncTaskManager::Client>())); 273 SyncTaskManager task_manager((base::WeakPtr<SyncTaskManager::Client>()));
271 task_manager.Initialize(SYNC_STATUS_OK); 274 task_manager.Initialize(SYNC_STATUS_OK);
272 MultihopSyncTask* task = new MultihopSyncTask( 275 MultihopSyncTask* task = new MultihopSyncTask(
273 &task_started, &task_completed); 276 &task_started, &task_completed);
274 task_manager.ScheduleTask( 277 task_manager.ScheduleTask(
278 FROM_HERE,
275 base::Bind(&MultihopSyncTask::Run, base::Unretained(task)), 279 base::Bind(&MultihopSyncTask::Run, base::Unretained(task)),
276 base::Bind(&IncrementAndAssignWithOwnedPointer<MultihopSyncTask>, 280 base::Bind(&IncrementAndAssignWithOwnedPointer<MultihopSyncTask>,
277 base::Owned(task), &callback_count, &status)); 281 base::Owned(task), &callback_count, &status));
278 } 282 }
279 283
280 message_loop.RunUntilIdle(); 284 message_loop.RunUntilIdle();
281 EXPECT_EQ(0, callback_count); 285 EXPECT_EQ(0, callback_count);
282 EXPECT_EQ(SYNC_STATUS_UNKNOWN, status); 286 EXPECT_EQ(SYNC_STATUS_UNKNOWN, status);
283 EXPECT_TRUE(task_started); 287 EXPECT_TRUE(task_started);
284 EXPECT_FALSE(task_completed); 288 EXPECT_FALSE(task_completed);
285 } 289 }
286 290
287 TEST(SyncTaskManagerTest, ScheduleTaskAtPriority) { 291 TEST(SyncTaskManagerTest, ScheduleTaskAtPriority) {
288 base::MessageLoop message_loop; 292 base::MessageLoop message_loop;
289 SyncTaskManager task_manager((base::WeakPtr<SyncTaskManager::Client>())); 293 SyncTaskManager task_manager((base::WeakPtr<SyncTaskManager::Client>()));
290 task_manager.Initialize(SYNC_STATUS_OK); 294 task_manager.Initialize(SYNC_STATUS_OK);
291 295
292 int callback_count = 0; 296 int callback_count = 0;
293 SyncStatusCode callback_status1 = SYNC_STATUS_OK; 297 SyncStatusCode callback_status1 = SYNC_STATUS_OK;
294 SyncStatusCode callback_status2 = SYNC_STATUS_OK; 298 SyncStatusCode callback_status2 = SYNC_STATUS_OK;
295 SyncStatusCode callback_status3 = SYNC_STATUS_OK; 299 SyncStatusCode callback_status3 = SYNC_STATUS_OK;
296 SyncStatusCode callback_status4 = SYNC_STATUS_OK; 300 SyncStatusCode callback_status4 = SYNC_STATUS_OK;
297 SyncStatusCode callback_status5 = SYNC_STATUS_OK; 301 SyncStatusCode callback_status5 = SYNC_STATUS_OK;
298 302
299 // This will run first even if its priority is low, since there're no 303 // This will run first even if its priority is low, since there're no
300 // pending tasks. 304 // pending tasks.
301 task_manager.ScheduleTaskAtPriority( 305 task_manager.ScheduleTaskAtPriority(
306 FROM_HERE,
302 base::Bind(&DumbTask, kStatus1), 307 base::Bind(&DumbTask, kStatus1),
303 SyncTaskManager::PRIORITY_LOW, 308 SyncTaskManager::PRIORITY_LOW,
304 base::Bind(&IncrementAndAssign, 0, &callback_count, &callback_status1)); 309 base::Bind(&IncrementAndAssign, 0, &callback_count, &callback_status1));
305 310
306 // This runs last (expected counter == 4). 311 // This runs last (expected counter == 4).
307 task_manager.ScheduleTaskAtPriority( 312 task_manager.ScheduleTaskAtPriority(
313 FROM_HERE,
308 base::Bind(&DumbTask, kStatus2), 314 base::Bind(&DumbTask, kStatus2),
309 SyncTaskManager::PRIORITY_LOW, 315 SyncTaskManager::PRIORITY_LOW,
310 base::Bind(&IncrementAndAssign, 4, &callback_count, &callback_status2)); 316 base::Bind(&IncrementAndAssign, 4, &callback_count, &callback_status2));
311 317
312 // This runs second (expected counter == 1). 318 // This runs second (expected counter == 1).
313 task_manager.ScheduleTaskAtPriority( 319 task_manager.ScheduleTaskAtPriority(
320 FROM_HERE,
314 base::Bind(&DumbTask, kStatus3), 321 base::Bind(&DumbTask, kStatus3),
315 SyncTaskManager::PRIORITY_HIGH, 322 SyncTaskManager::PRIORITY_HIGH,
316 base::Bind(&IncrementAndAssign, 1, &callback_count, &callback_status3)); 323 base::Bind(&IncrementAndAssign, 1, &callback_count, &callback_status3));
317 324
318 // This runs fourth (expected counter == 3). 325 // This runs fourth (expected counter == 3).
319 task_manager.ScheduleTaskAtPriority( 326 task_manager.ScheduleTaskAtPriority(
327 FROM_HERE,
320 base::Bind(&DumbTask, kStatus4), 328 base::Bind(&DumbTask, kStatus4),
321 SyncTaskManager::PRIORITY_MED, 329 SyncTaskManager::PRIORITY_MED,
322 base::Bind(&IncrementAndAssign, 3, &callback_count, &callback_status4)); 330 base::Bind(&IncrementAndAssign, 3, &callback_count, &callback_status4));
323 331
324 // This runs third (expected counter == 2). 332 // This runs third (expected counter == 2).
325 task_manager.ScheduleTaskAtPriority( 333 task_manager.ScheduleTaskAtPriority(
334 FROM_HERE,
326 base::Bind(&DumbTask, kStatus5), 335 base::Bind(&DumbTask, kStatus5),
327 SyncTaskManager::PRIORITY_HIGH, 336 SyncTaskManager::PRIORITY_HIGH,
328 base::Bind(&IncrementAndAssign, 2, &callback_count, &callback_status5)); 337 base::Bind(&IncrementAndAssign, 2, &callback_count, &callback_status5));
329 338
330 message_loop.RunUntilIdle(); 339 message_loop.RunUntilIdle();
331 340
332 EXPECT_EQ(kStatus1, callback_status1); 341 EXPECT_EQ(kStatus1, callback_status1);
333 EXPECT_EQ(kStatus2, callback_status2); 342 EXPECT_EQ(kStatus2, callback_status2);
334 EXPECT_EQ(kStatus3, callback_status3); 343 EXPECT_EQ(kStatus3, callback_status3);
335 EXPECT_EQ(kStatus4, callback_status4); 344 EXPECT_EQ(kStatus4, callback_status4);
336 EXPECT_EQ(kStatus5, callback_status5); 345 EXPECT_EQ(kStatus5, callback_status5);
337 EXPECT_EQ(5, callback_count); 346 EXPECT_EQ(5, callback_count);
338 } 347 }
339 348
340 } // namespace sync_file_system 349 } // namespace sync_file_system
OLDNEW
« no previous file with comments | « chrome/browser/sync_file_system/sync_task_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698