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

Side by Side Diff: chrome/test/live_sync/profile_sync_service_test_harness.h

Issue 3169028: Adding debugging info for sync integration tests. (Closed)
Patch Set: Adding id_ member to class ProfileSyncServiceTestHarness. Created 10 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
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_TEST_LIVE_SYNC_PROFILE_SYNC_SERVICE_TEST_HARNESS_H_ 5 #ifndef CHROME_TEST_LIVE_SYNC_PROFILE_SYNC_SERVICE_TEST_HARNESS_H_
6 #define CHROME_TEST_LIVE_SYNC_PROFILE_SYNC_SERVICE_TEST_HARNESS_H_ 6 #define CHROME_TEST_LIVE_SYNC_PROFILE_SYNC_SERVICE_TEST_HARNESS_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/time.h" 12 #include "base/time.h"
13 #include "chrome/browser/sync/profile_sync_service.h" 13 #include "chrome/browser/sync/profile_sync_service.h"
14 14
15 using browser_sync::sessions::SyncSessionSnapshot; 15 using browser_sync::sessions::SyncSessionSnapshot;
16 16
17 class Profile; 17 class Profile;
18 18
19 // An instance of this class is basically our notion of a "sync client" for 19 // An instance of this class is basically our notion of a "sync client" for
20 // test purposes. It harnesses the ProfileSyncService member of the profile 20 // test purposes. It harnesses the ProfileSyncService member of the profile
21 // passed to it on construction and automates certain things like setup and 21 // passed to it on construction and automates certain things like setup and
22 // authentication. It provides ways to "wait" adequate periods of time for 22 // authentication. It provides ways to "wait" adequate periods of time for
23 // several clients to get to the same state. 23 // several clients to get to the same state.
24 class ProfileSyncServiceTestHarness : public ProfileSyncServiceObserver { 24 class ProfileSyncServiceTestHarness : public ProfileSyncServiceObserver {
25 public: 25 public:
26 ProfileSyncServiceTestHarness(Profile* p, const std::string& username, 26 ProfileSyncServiceTestHarness(Profile* p, const std::string& username,
27 const std::string& password); 27 const std::string& password, int id);
28 28
29 // Creates a ProfileSyncService for the profile passed at construction and 29 // Creates a ProfileSyncService for the profile passed at construction and
30 // enables sync. Returns true only after sync has been fully initialized and 30 // enables sync. Returns true only after sync has been fully initialized and
31 // authenticated, and we are ready to process changes. 31 // authenticated, and we are ready to process changes.
32 bool SetupSync(); 32 bool SetupSync();
33 33
34 // Retries a sync setup when the previous attempt was aborted by an 34 // Retries a sync setup when the previous attempt was aborted by an
35 // authentication failure. 35 // authentication failure.
36 bool RetryAuthentication(); 36 bool RetryAuthentication();
37 37
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 void SignalStateComplete(); 101 void SignalStateComplete();
102 102
103 // Finite state machine for controlling state. Returns true only if a state 103 // Finite state machine for controlling state. Returns true only if a state
104 // change has taken place. 104 // change has taken place.
105 bool RunStateChangeMachine(); 105 bool RunStateChangeMachine();
106 106
107 // Returns true if a status change took place, false on timeout. 107 // Returns true if a status change took place, false on timeout.
108 virtual bool AwaitStatusChangeWithTimeout(int timeout_seconds, 108 virtual bool AwaitStatusChangeWithTimeout(int timeout_seconds,
109 const std::string& reason); 109 const std::string& reason);
110 110
111 // Returns true if the service initialized correctly. Set 111 // Returns true if the service initialized correctly. Set is_auth_retry to
112 // is_auth_retry to true when calling this method second time after 112 // true when calling this method second time after an authentication failure.
113 // an autentication failure.
114 bool WaitForServiceInit(bool is_auth_retry); 113 bool WaitForServiceInit(bool is_auth_retry);
115 114
115 // Logs message with relevant info about client's sync state (if available).
116 void LogClientInfo(std::string message);
117
116 WaitState wait_state_; 118 WaitState wait_state_;
117 119
118 Profile* profile_; 120 Profile* profile_;
119 ProfileSyncService* service_; 121 ProfileSyncService* service_;
120 122
121 // Returns a snapshot of the current sync session. 123 // Returns a snapshot of the current sync session.
122 const SyncSessionSnapshot* GetLastSessionSnapshot() const; 124 const SyncSessionSnapshot* GetLastSessionSnapshot() const;
123 125
124 // State tracking. Used for debugging and tracking of state. 126 // State tracking. Used for debugging and tracking of state.
125 ProfileSyncService::Status last_status_; 127 ProfileSyncService::Status last_status_;
126 128
127 // This value tracks the max sync timestamp (e.g. synced-to revision) inside 129 // This value tracks the max sync timestamp (e.g. synced-to revision) inside
128 // the sync engine. It gets updated when a sync cycle ends and the session 130 // the sync engine. It gets updated when a sync cycle ends and the session
129 // snapshot implies syncing is "done". 131 // snapshot implies syncing is "done".
130 int64 last_timestamp_; 132 int64 last_timestamp_;
131 133
132 // The minimum value of the 'max_local_timestamp' member of a 134 // The minimum value of the 'max_local_timestamp' member of a
133 // SyncSessionSnapshot we need to wait to observe in OnStateChanged when told 135 // SyncSessionSnapshot we need to wait to observe in OnStateChanged when told
134 // to WaitUntilTimestampIsAtLeast(...). 136 // to WaitUntilTimestampIsAtLeast(...).
135 int64 min_timestamp_needed_; 137 int64 min_timestamp_needed_;
136 138
137 // Credentials used for GAIA authentication. 139 // Credentials used for GAIA authentication.
138 std::string username_; 140 std::string username_;
139 std::string password_; 141 std::string password_;
140 142
143 // Client ID, used for logging purposes.
144 int id_;
145
141 DISALLOW_COPY_AND_ASSIGN(ProfileSyncServiceTestHarness); 146 DISALLOW_COPY_AND_ASSIGN(ProfileSyncServiceTestHarness);
142 }; 147 };
143 148
144 #endif // CHROME_TEST_LIVE_SYNC_PROFILE_SYNC_SERVICE_TEST_HARNESS_H_ 149 #endif // CHROME_TEST_LIVE_SYNC_PROFILE_SYNC_SERVICE_TEST_HARNESS_H_
OLDNEW
« no previous file with comments | « chrome/test/live_sync/live_sync_test.cc ('k') | chrome/test/live_sync/profile_sync_service_test_harness.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698