Index: chrome/test/live_sync/profile_sync_service_test_harness.cc |
diff --git a/chrome/test/live_sync/profile_sync_service_test_harness.cc b/chrome/test/live_sync/profile_sync_service_test_harness.cc |
index 6d51e3e542ca36d4f5513d353dee23ed4e57d0b7..43e5511fd72debc317b00967e7812eb2c9b43b77 100644 |
--- a/chrome/test/live_sync/profile_sync_service_test_harness.cc |
+++ b/chrome/test/live_sync/profile_sync_service_test_harness.cc |
@@ -82,13 +82,13 @@ bool StateChangeTimeoutEvent::Abort() { |
return !did_timeout_; |
} |
-ProfileSyncServiceTestHarness::ProfileSyncServiceTestHarness( |
- Profile* p, const std::string& username, const std::string& password) |
+ProfileSyncServiceTestHarness::ProfileSyncServiceTestHarness(Profile* p, |
+ const std::string& username, const std::string& password, int id) |
: wait_state_(WAITING_FOR_ON_AUTH_ERROR), profile_(p), service_(NULL), |
last_status_(kInvalidStatus), |
last_timestamp_(0), |
min_timestamp_needed_(kMinTimestampNeededNone), |
- username_(username), password_(password) { |
+ username_(username), password_(password), id_(id) { |
// Ensure the profile has enough prefs registered for use by sync. |
if (!p->GetPrefs()->FindPreference(prefs::kAcceptLanguages)) |
TabContents::RegisterUserPrefs(p->GetPrefs()); |
@@ -122,10 +122,12 @@ bool ProfileSyncServiceTestHarness::RunStateChangeMachine() { |
ProfileSyncService::Status status(service_->QueryDetailedSyncStatus()); |
switch (wait_state_) { |
case WAITING_FOR_ON_AUTH_ERROR: { |
+ LogClientInfo("WAITING_FOR_ON_AUTH_ERROR"); |
SignalStateCompleteWithNextState(WAITING_FOR_ON_BACKEND_INITIALIZED); |
break; |
} |
case WAITING_FOR_ON_BACKEND_INITIALIZED: { |
+ LogClientInfo("WAITING_FOR_ON_BACKEND_INITIALIZED"); |
if (service_->GetAuthError().state() != GoogleServiceAuthError::NONE) { |
SignalStateCompleteWithNextState(AUTH_ERROR); |
} |
@@ -135,12 +137,14 @@ bool ProfileSyncServiceTestHarness::RunStateChangeMachine() { |
break; |
} |
case WAITING_FOR_NOTIFICATIONS_ENABLED: { |
+ LogClientInfo("WAITING_FOR_NOTIFICATIONS_ENABLED"); |
if (status.notifications_enabled) { |
SignalStateCompleteWithNextState(FULLY_SYNCED); |
} |
break; |
} |
case WAITING_FOR_SYNC_TO_FINISH: { |
+ LogClientInfo("WAITING_FOR_SYNC_TO_FINISH"); |
const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
DCHECK(snap) << "Should have been at least one sync session by now"; |
// TODO(rsimha): In an ideal world, snap->has_more_to_sync == false should |
@@ -156,6 +160,7 @@ bool ProfileSyncServiceTestHarness::RunStateChangeMachine() { |
break; |
} |
case WAITING_FOR_UPDATES: { |
+ LogClientInfo("WAITING_FOR_UPDATES"); |
const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
DCHECK(snap) << "Should have been at least one sync session by now"; |
if (snap->max_local_timestamp < min_timestamp_needed_) { |
@@ -166,7 +171,14 @@ bool ProfileSyncServiceTestHarness::RunStateChangeMachine() { |
SignalStateCompleteWithNextState(FULLY_SYNCED); |
break; |
} |
- case FULLY_SYNCED: |
+ case FULLY_SYNCED: { |
+ LogClientInfo("FULLY_SYNCED"); |
+ break; |
+ } |
+ case AUTH_ERROR: { |
+ LogClientInfo("AUTH_ERROR"); |
+ break; |
+ } |
default: |
// Invalid state during observer callback which may be triggered by other |
// classes using the the UI message loop. Defer to their handling. |
@@ -182,6 +194,7 @@ void ProfileSyncServiceTestHarness::OnStateChanged() { |
bool ProfileSyncServiceTestHarness::AwaitSyncCycleCompletion( |
const std::string& reason) { |
+ LogClientInfo("AwaitSyncCycleCompletion"); |
const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
DCHECK(snap) << "Should have been at least one sync session by now"; |
// TODO(rsimha): Remove additional checks of snap->has_more_to_sync and |
@@ -200,6 +213,7 @@ bool ProfileSyncServiceTestHarness::AwaitSyncCycleCompletion( |
bool ProfileSyncServiceTestHarness::AwaitMutualSyncCycleCompletion( |
ProfileSyncServiceTestHarness* partner) { |
+ LogClientInfo("AwaitMutualSyncCycleCompletion"); |
bool success = AwaitSyncCycleCompletion( |
"Sync cycle completion on active client."); |
if (!success) |
@@ -210,6 +224,7 @@ bool ProfileSyncServiceTestHarness::AwaitMutualSyncCycleCompletion( |
bool ProfileSyncServiceTestHarness::AwaitGroupSyncCycleCompletion( |
std::vector<ProfileSyncServiceTestHarness*>& partners) { |
+ LogClientInfo("AwaitGroupSyncCycleCompletion"); |
bool success = AwaitSyncCycleCompletion( |
"Sync cycle completion on active client."); |
if (!success) |
@@ -229,6 +244,7 @@ bool ProfileSyncServiceTestHarness::AwaitGroupSyncCycleCompletion( |
// static |
bool ProfileSyncServiceTestHarness::AwaitQuiescence( |
std::vector<ProfileSyncServiceTestHarness*>& clients) { |
+ LOG(INFO) << "AwaitQuiescence."; |
bool return_value = true; |
for (std::vector<ProfileSyncServiceTestHarness*>::iterator it = |
clients.begin(); it != clients.end(); ++it) { |
@@ -240,6 +256,7 @@ bool ProfileSyncServiceTestHarness::AwaitQuiescence( |
bool ProfileSyncServiceTestHarness::WaitUntilTimestampIsAtLeast( |
int64 timestamp, const std::string& reason) { |
+ LogClientInfo("WaitUntilTimestampIsAtLeast"); |
min_timestamp_needed_ = timestamp; |
const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
DCHECK(snap) << "Should have been at least one sync session by now"; |
@@ -254,6 +271,7 @@ bool ProfileSyncServiceTestHarness::WaitUntilTimestampIsAtLeast( |
bool ProfileSyncServiceTestHarness::AwaitStatusChangeWithTimeout( |
int timeout_seconds, |
const std::string& reason) { |
+ LogClientInfo("AwaitStatusChangeWithTimeout"); |
scoped_refptr<StateChangeTimeoutEvent> timeout_signal( |
new StateChangeTimeoutEvent(this, reason)); |
MessageLoopForUI* loop = MessageLoopForUI::current(); |
@@ -262,11 +280,14 @@ bool ProfileSyncServiceTestHarness::AwaitStatusChangeWithTimeout( |
NewRunnableMethod(timeout_signal.get(), |
&StateChangeTimeoutEvent::Callback), |
1000 * timeout_seconds); |
+ LogClientInfo("Before RunMessageLoop"); |
ui_test_utils::RunMessageLoop(); |
+ LogClientInfo("After RunMessageLoop"); |
return timeout_signal->Abort(); |
} |
bool ProfileSyncServiceTestHarness::WaitForServiceInit(bool is_auth_retry) { |
+ LogClientInfo("WaitForServiceInit"); |
if (!is_auth_retry) { |
// Wait for the OnAuthError() callback. |
EXPECT_EQ(wait_state_, WAITING_FOR_ON_AUTH_ERROR); |
@@ -310,3 +331,18 @@ const SyncSessionSnapshot* |
EXPECT_FALSE(service_ == NULL) << "Sync service has not yet been set up."; |
return service_->backend()->GetLastSessionSnapshot(); |
} |
+ |
+void ProfileSyncServiceTestHarness::LogClientInfo(std::string message) { |
+ const SyncSessionSnapshot* snap = GetLastSessionSnapshot(); |
+ if (snap) { |
+ LOG(INFO) << "Client " << id_ << ": " << message << ": " |
+ << "has_more_to_sync: " << snap->has_more_to_sync |
+ << ", max_local_timestamp: " << snap->max_local_timestamp |
+ << ", unsynced_count: " << snap->unsynced_count |
+ << ", has_unsynced_items: " << service()->backend()->HasUnsyncedItems() |
+ << "."; |
+ } else { |
+ LOG(INFO) << "Client " << id_ << ": " << message << ": " |
+ << "Snap not available."; |
+ } |
+} |