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

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/conflict_resolver_unittest.cc

Issue 446793002: [SyncFS] Unconditionally demote remote file trackers on remote-to-local sync (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix Created 6 years, 4 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 | « no previous file | chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer_unittest.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 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 "chrome/browser/sync_file_system/drive_backend/conflict_resolver.h" 5 #include "chrome/browser/sync_file_system/drive_backend/conflict_resolver.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/file_util.h" 9 #include "base/file_util.h"
10 #include "base/files/scoped_temp_dir.h" 10 #include "base/files/scoped_temp_dir.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 file_change, local_path, url)); 202 file_change, local_path, url));
203 syncer->RunPreflight(SyncTaskToken::CreateForTesting( 203 syncer->RunPreflight(SyncTaskToken::CreateForTesting(
204 CreateResultReceiver(&status))); 204 CreateResultReceiver(&status)));
205 base::RunLoop().RunUntilIdle(); 205 base::RunLoop().RunUntilIdle();
206 if (status == SYNC_STATUS_OK) 206 if (status == SYNC_STATUS_OK)
207 remote_change_processor_->ClearLocalChanges(url); 207 remote_change_processor_->ClearLocalChanges(url);
208 return status; 208 return status;
209 } 209 }
210 210
211 void RunRemoteToLocalSyncerUntilIdle() { 211 void RunRemoteToLocalSyncerUntilIdle() {
212 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 212 const int kRetryLimit = 100;
213 while (status != SYNC_STATUS_NO_CHANGE_TO_SYNC) 213 SyncStatusCode status;
214 int retry_count = 0;
215 MetadataDatabase* metadata_database = context_->GetMetadataDatabase();
216 do {
217 if (retry_count++ > kRetryLimit)
218 break;
214 status = RunRemoteToLocalSyncer(); 219 status = RunRemoteToLocalSyncer();
220 } while (status == SYNC_STATUS_OK ||
221 status == SYNC_STATUS_RETRY ||
222 metadata_database->PromoteLowerPriorityTrackersToNormal());
223 EXPECT_EQ(SYNC_STATUS_NO_CHANGE_TO_SYNC, status);
215 } 224 }
216 225
217 SyncStatusCode RunConflictResolver() { 226 SyncStatusCode RunConflictResolver() {
218 SyncStatusCode status = SYNC_STATUS_UNKNOWN; 227 SyncStatusCode status = SYNC_STATUS_UNKNOWN;
219 ConflictResolver resolver(context_.get()); 228 ConflictResolver resolver(context_.get());
220 resolver.RunPreflight(SyncTaskToken::CreateForTesting( 229 resolver.RunPreflight(SyncTaskToken::CreateForTesting(
221 CreateResultReceiver(&status))); 230 CreateResultReceiver(&status)));
222 base::RunLoop().RunUntilIdle(); 231 base::RunLoop().RunUntilIdle();
223 return status; 232 return status;
224 } 233 }
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 522
514 EXPECT_EQ(4, CountParents(file)); 523 EXPECT_EQ(4, CountParents(file));
515 524
516 EXPECT_EQ(SYNC_STATUS_OK, RunConflictResolver()); 525 EXPECT_EQ(SYNC_STATUS_OK, RunConflictResolver());
517 526
518 EXPECT_EQ(1, CountParents(file)); 527 EXPECT_EQ(1, CountParents(file));
519 } 528 }
520 529
521 } // namespace drive_backend 530 } // namespace drive_backend
522 } // namespace sync_file_system 531 } // namespace sync_file_system
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/local_to_remote_syncer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698