Index: chrome/browser/sync_file_system/drive_backend/conflict_resolver_unittest.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/conflict_resolver_unittest.cc b/chrome/browser/sync_file_system/drive_backend/conflict_resolver_unittest.cc |
index b43cb1f6ac6af5a047df284bd0b2ee9ef78f72b6..d0d4c0f9c94981d1c3c01ed201d8f00fdeb85f60 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/conflict_resolver_unittest.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/conflict_resolver_unittest.cc |
@@ -209,9 +209,18 @@ class ConflictResolverTest : public testing::Test { |
} |
void RunRemoteToLocalSyncerUntilIdle() { |
- SyncStatusCode status = SYNC_STATUS_UNKNOWN; |
- while (status != SYNC_STATUS_NO_CHANGE_TO_SYNC) |
+ const int kRetryLimit = 100; |
+ SyncStatusCode status; |
+ int retry_count = 0; |
+ MetadataDatabase* metadata_database = context_->GetMetadataDatabase(); |
+ do { |
+ if (retry_count++ > kRetryLimit) |
+ break; |
status = RunRemoteToLocalSyncer(); |
+ } while (status == SYNC_STATUS_OK || |
+ status == SYNC_STATUS_RETRY || |
+ metadata_database->PromoteLowerPriorityTrackersToNormal()); |
+ EXPECT_EQ(SYNC_STATUS_NO_CHANGE_TO_SYNC, status); |
} |
SyncStatusCode RunConflictResolver() { |