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

Side by Side Diff: chrome/browser/sync/test/integration/two_client_sessions_sync_test.cc

Issue 2389443003: [Sync] Remove special cased sessions default commit (Closed)
Patch Set: Updating custom nudge delay for favicons as well: Created 4 years, 2 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
« no previous file with comments | « no previous file | components/sync/engine_impl/cycle/nudge_tracker.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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 <string> 5 #include <string>
6 6
7 #include "base/guid.h" 7 #include "base/guid.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 26 matching lines...) Expand all
37 DISALLOW_COPY_AND_ASSIGN(TwoClientSessionsSyncTest); 37 DISALLOW_COPY_AND_ASSIGN(TwoClientSessionsSyncTest);
38 }; 38 };
39 39
40 static const char* kURL1 = "http://127.0.0.1/bubba1"; 40 static const char* kURL1 = "http://127.0.0.1/bubba1";
41 static const char* kURL2 = "http://127.0.0.1/bubba2"; 41 static const char* kURL2 = "http://127.0.0.1/bubba2";
42 42
43 // TODO(zea): Test each individual session command we care about separately. 43 // TODO(zea): Test each individual session command we care about separately.
44 // (as well as multi-window). We're currently only checking basic single-window/ 44 // (as well as multi-window). We're currently only checking basic single-window/
45 // single-tab functionality. 45 // single-tab functionality.
46 46
47 // Fails on Win, see http://crbug.com/232313
48 #if defined(OS_WIN)
49 #define MAYBE_SingleClientChanged DISABLED_SingleClientChanged
50 #define MAYBE_BothChanged DISABLED_BothChanged
51 #define MAYBE_DeleteIdleSession DISABLED_DeleteIdleSession
52 #define MAYBE_AllChanged DISABLED_AllChanged
53 #else
54 #define MAYBE_SingleClientChanged SingleClientChanged
55 #define MAYBE_BothChanged BothChanged
56 #define MAYBE_DeleteIdleSession DeleteIdleSession
57 #define MAYBE_AllChanged AllChanged
58 #endif
59
60 47
61 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest, 48 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest,
62 E2E_ENABLED(MAYBE_SingleClientChanged)) { 49 E2E_ENABLED(SingleClientChanged)) {
63 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 50 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
64 51
65 // Open tab and access a url on client 0 52 // Open tab and access a url on client 0
66 ScopedWindowMap client0_windows; 53 ScopedWindowMap client0_windows;
67 std::string url = base::StringPrintf("http://127.0.0.1/bubba%s", 54 std::string url = base::StringPrintf("http://127.0.0.1/bubba%s",
68 base::GenerateGUID().c_str()); 55 base::GenerateGUID().c_str());
69 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(url), &client0_windows)); 56 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(url), &client0_windows));
70 57
71 // Retain the window information on client 0 58 // Retain the window information on client 0
72 std::vector<ScopedWindowMap> expected_windows(1); 59 std::vector<ScopedWindowMap> expected_windows(1);
73 expected_windows[0] = std::move(client0_windows); 60 expected_windows[0] = std::move(client0_windows);
74 61
75 // Check the foreign windows on client 1 62 // Check the foreign windows on client 1
76 ASSERT_TRUE(AwaitCheckForeignSessionsAgainst(1, expected_windows)); 63 ASSERT_TRUE(AwaitCheckForeignSessionsAgainst(1, expected_windows));
77 } 64 }
78 65
79 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest, 66 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest,
80 E2E_ENABLED(MAYBE_AllChanged)) { 67 E2E_ENABLED(AllChanged)) {
81 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 68 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
82 69
83 // Open tabs on all clients and retain window information. 70 // Open tabs on all clients and retain window information.
84 std::vector<ScopedWindowMap> client_windows(num_clients()); 71 std::vector<ScopedWindowMap> client_windows(num_clients());
85 for (int i = 0; i < num_clients(); ++i) { 72 for (int i = 0; i < num_clients(); ++i) {
86 ScopedWindowMap windows; 73 ScopedWindowMap windows;
87 std::string url = base::StringPrintf("http://127.0.0.1/bubba%s", 74 std::string url = base::StringPrintf("http://127.0.0.1/bubba%s",
88 base::GenerateGUID().c_str()); 75 base::GenerateGUID().c_str());
89 ASSERT_TRUE(OpenTabAndGetLocalWindows(i, GURL(url), &windows)); 76 ASSERT_TRUE(OpenTabAndGetLocalWindows(i, GURL(url), &windows));
90 client_windows[i] = std::move(windows); 77 client_windows[i] = std::move(windows);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 ASSERT_TRUE(CheckInitialState(0)); 129 ASSERT_TRUE(CheckInitialState(0));
143 ASSERT_TRUE(CheckInitialState(1)); 130 ASSERT_TRUE(CheckInitialState(1));
144 131
145 ASSERT_TRUE(EnableEncryption(0)); 132 ASSERT_TRUE(EnableEncryption(0));
146 ASSERT_TRUE(EnableEncryption(1)); 133 ASSERT_TRUE(EnableEncryption(1));
147 ASSERT_TRUE(AwaitQuiescence()); 134 ASSERT_TRUE(AwaitQuiescence());
148 ASSERT_TRUE(IsEncryptionComplete(0)); 135 ASSERT_TRUE(IsEncryptionComplete(0));
149 ASSERT_TRUE(IsEncryptionComplete(1)); 136 ASSERT_TRUE(IsEncryptionComplete(1));
150 } 137 }
151 138
152 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest, MAYBE_BothChanged) { 139 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest, BothChanged) {
153 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 140 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
154 141
155 ASSERT_TRUE(CheckInitialState(0)); 142 ASSERT_TRUE(CheckInitialState(0));
156 ASSERT_TRUE(CheckInitialState(1)); 143 ASSERT_TRUE(CheckInitialState(1));
157 144
158 // Open tabs on both clients and retain window information. 145 // Open tabs on both clients and retain window information.
159 ScopedWindowMap client0_windows; 146 ScopedWindowMap client0_windows;
160 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(kURL2), &client0_windows)); 147 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(kURL2), &client0_windows));
161 ScopedWindowMap client1_windows; 148 ScopedWindowMap client1_windows;
162 ASSERT_TRUE(OpenTabAndGetLocalWindows(1, GURL(kURL1), &client1_windows)); 149 ASSERT_TRUE(OpenTabAndGetLocalWindows(1, GURL(kURL1), &client1_windows));
163 150
164 // Wait for sync. 151 // Wait for sync.
165 ASSERT_TRUE(AwaitQuiescence()); 152 ASSERT_TRUE(AwaitQuiescence());
166 153
167 // Get foreign session data from client 0 and 1. 154 // Get foreign session data from client 0 and 1.
168 SyncedSessionVector sessions0; 155 SyncedSessionVector sessions0;
169 SyncedSessionVector sessions1; 156 SyncedSessionVector sessions1;
170 ASSERT_TRUE(GetSessionData(0, &sessions0)); 157 ASSERT_TRUE(GetSessionData(0, &sessions0));
171 ASSERT_TRUE(GetSessionData(1, &sessions1)); 158 ASSERT_TRUE(GetSessionData(1, &sessions1));
172 159
173 // Verify client 1's foreign session matches client 0's current window and 160 // Verify client 1's foreign session matches client 0's current window and
174 // vice versa. 161 // vice versa.
175 ASSERT_EQ(1U, sessions0.size()); 162 ASSERT_EQ(1U, sessions0.size());
176 ASSERT_EQ(1U, sessions1.size()); 163 ASSERT_EQ(1U, sessions1.size());
177 ASSERT_TRUE(WindowsMatch(sessions1[0]->windows, client0_windows)); 164 ASSERT_TRUE(WindowsMatch(sessions1[0]->windows, client0_windows));
178 ASSERT_TRUE(WindowsMatch(sessions0[0]->windows, client1_windows)); 165 ASSERT_TRUE(WindowsMatch(sessions0[0]->windows, client1_windows));
179 } 166 }
180 167
181 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest, MAYBE_DeleteIdleSession) { 168 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest, DeleteIdleSession) {
182 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 169 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
183 170
184 ASSERT_TRUE(CheckInitialState(0)); 171 ASSERT_TRUE(CheckInitialState(0));
185 ASSERT_TRUE(CheckInitialState(1)); 172 ASSERT_TRUE(CheckInitialState(1));
186 173
187 // Client 0 opened some tabs then went idle. 174 // Client 0 opened some tabs then went idle.
188 ScopedWindowMap client0_windows; 175 ScopedWindowMap client0_windows;
189 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(kURL1), &client0_windows)); 176 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(kURL1), &client0_windows));
190 177
191 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 178 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
192 179
193 // Get foreign session data from client 1. 180 // Get foreign session data from client 1.
194 SyncedSessionVector sessions1; 181 SyncedSessionVector sessions1;
195 ASSERT_TRUE(GetSessionData(1, &sessions1)); 182 ASSERT_TRUE(GetSessionData(1, &sessions1));
196 183
197 // Verify client 1's foreign session matches client 0 current window. 184 // Verify client 1's foreign session matches client 0 current window.
198 ASSERT_EQ(1U, sessions1.size()); 185 ASSERT_EQ(1U, sessions1.size());
199 ASSERT_TRUE(WindowsMatch(sessions1[0]->windows, client0_windows)); 186 ASSERT_TRUE(WindowsMatch(sessions1[0]->windows, client0_windows));
200 187
201 // Client 1 now deletes client 0's tabs. This frees the memory of sessions1. 188 // Client 1 now deletes client 0's tabs. This frees the memory of sessions1.
202 DeleteForeignSession(1, sessions1[0]->session_tag); 189 DeleteForeignSession(1, sessions1[0]->session_tag);
203 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 190 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
204 ASSERT_FALSE(GetSessionData(1, &sessions1)); 191 ASSERT_FALSE(GetSessionData(1, &sessions1));
205 } 192 }
206 193
207 // Fails all release trybots. crbug.com/263369. 194 // Fails all release trybots. crbug.com/263369.
208 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest, 195 IN_PROC_BROWSER_TEST_F(TwoClientSessionsSyncTest,
209 DISABLED_DeleteActiveSession) { 196 DeleteActiveSession) {
210 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; 197 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
211 198
212 ASSERT_TRUE(CheckInitialState(0)); 199 ASSERT_TRUE(CheckInitialState(0));
213 ASSERT_TRUE(CheckInitialState(1)); 200 ASSERT_TRUE(CheckInitialState(1));
214 201
215 // Client 0 opened some tabs then went idle. 202 // Client 0 opened some tabs then went idle.
216 ScopedWindowMap client0_windows; 203 ScopedWindowMap client0_windows;
217 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(kURL1), &client0_windows)); 204 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(kURL1), &client0_windows));
218 205
219 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 206 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
220 SyncedSessionVector sessions1; 207 SyncedSessionVector sessions1;
221 ASSERT_TRUE(GetSessionData(1, &sessions1)); 208 ASSERT_TRUE(GetSessionData(1, &sessions1));
222 ASSERT_EQ(1U, sessions1.size()); 209 ASSERT_EQ(1U, sessions1.size());
223 ASSERT_TRUE(WindowsMatch(sessions1[0]->windows, client0_windows)); 210 ASSERT_TRUE(WindowsMatch(sessions1[0]->windows, client0_windows));
224 211
225 // Client 1 now deletes client 0's tabs. This frees the memory of sessions1. 212 // Client 1 now deletes client 0's tabs. This frees the memory of sessions1.
226 DeleteForeignSession(1, sessions1[0]->session_tag); 213 DeleteForeignSession(1, sessions1[0]->session_tag);
227 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0))); 214 ASSERT_TRUE(GetClient(1)->AwaitMutualSyncCycleCompletion(GetClient(0)));
228 ASSERT_FALSE(GetSessionData(1, &sessions1)); 215 ASSERT_FALSE(GetSessionData(1, &sessions1));
229 216
230 // Client 0 becomes active again with a new tab. 217 // Client 0 becomes active again with a new tab.
231 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(kURL2), &client0_windows)); 218 ASSERT_TRUE(OpenTabAndGetLocalWindows(0, GURL(kURL2), &client0_windows));
232 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); 219 ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1)));
233 ASSERT_TRUE(GetSessionData(1, &sessions1)); 220 ASSERT_TRUE(GetSessionData(1, &sessions1));
234 ASSERT_EQ(1U, sessions1.size()); 221 ASSERT_EQ(1U, sessions1.size());
235 ASSERT_TRUE(WindowsMatch(sessions1[0]->windows, client0_windows)); 222 ASSERT_TRUE(WindowsMatch(sessions1[0]->windows, client0_windows));
236 } 223 }
OLDNEW
« no previous file with comments | « no previous file | components/sync/engine_impl/cycle/nudge_tracker.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698