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

Side by Side Diff: chrome/browser/sync/test/integration/sync_test.h

Issue 650463003: Improve error triggering in sync_integration_tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
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 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_ 5 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_ 6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 // a per-test basis by running a command 88 // a per-test basis by running a command
89 EXTERNAL_LIVE_SERVER, // A remote server that the test code has no control 89 EXTERNAL_LIVE_SERVER, // A remote server that the test code has no control
90 // over whatsoever; cross your fingers that the 90 // over whatsoever; cross your fingers that the
91 // account state is initially clean. 91 // account state is initially clean.
92 IN_PROCESS_FAKE_SERVER, // The fake Sync server (FakeServer) running 92 IN_PROCESS_FAKE_SERVER, // The fake Sync server (FakeServer) running
93 // in-process (bypassing HTTP calls). This 93 // in-process (bypassing HTTP calls). This
94 // ServerType will eventually replace 94 // ServerType will eventually replace
95 // LOCAL_PYTHON_SERVER. 95 // LOCAL_PYTHON_SERVER.
96 }; 96 };
97 97
98 // NOTE: IMPORTANT the enum here should match with
99 // the enum defined on the chromiumsync.py test server impl.
100 enum SyncErrorFrequency {
101 // Uninitialized state.
102 ERROR_FREQUENCY_NONE,
103
104 // Server sends the error on all requests.
105 ERROR_FREQUENCY_ALWAYS,
106
107 // Server sends the error on two thirds of the request.
108 // Note this is not random. The server would send the
109 // error on the first 2 requests of every 3 requests.
110 ERROR_FREQUENCY_TWO_THIRDS
111 };
112
113 // A SyncTest must be associated with a particular test type. 98 // A SyncTest must be associated with a particular test type.
114 explicit SyncTest(TestType test_type); 99 explicit SyncTest(TestType test_type);
115 100
116 virtual ~SyncTest(); 101 virtual ~SyncTest();
117 102
118 // Validates command line parameters and creates a local python test server if 103 // Validates command line parameters and creates a local python test server if
119 // specified. 104 // specified.
120 virtual void SetUp() override; 105 virtual void SetUp() override;
121 106
122 // Brings down local python test server if one was created. 107 // Brings down local python test server if one was created.
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 void TriggerMigrationDoneError(syncer::ModelTypeSet model_types); 214 void TriggerMigrationDoneError(syncer::ModelTypeSet model_types);
230 215
231 // Triggers a transient error on the server. Note the server will stay in 216 // Triggers a transient error on the server. Note the server will stay in
232 // this state until shut down. 217 // this state until shut down.
233 void TriggerTransientError(); 218 void TriggerTransientError();
234 219
235 // Triggers an XMPP auth error on the server. Note the server will 220 // Triggers an XMPP auth error on the server. Note the server will
236 // stay in this state until shut down. 221 // stay in this state until shut down.
237 void TriggerXmppAuthError(); 222 void TriggerXmppAuthError();
238 223
239 // Triggers a sync error on the server.
240 // error: The error the server is expected to return.
241 // frequency: Frequency with which the error is returned.
242 void TriggerSyncError(const syncer::SyncProtocolError& error,
243 SyncErrorFrequency frequency);
244
245 // Triggers the creation the Synced Bookmarks folder on the server. 224 // Triggers the creation the Synced Bookmarks folder on the server.
246 void TriggerCreateSyncedBookmarks(); 225 void TriggerCreateSyncedBookmarks();
247 226
248 // Returns the FakeServer being used for the test or NULL if FakeServer is 227 // Returns the FakeServer being used for the test or NULL if FakeServer is
249 // not being used. 228 // not being used.
250 fake_server::FakeServer* GetFakeServer() const; 229 fake_server::FakeServer* GetFakeServer() const;
251 230
252 protected: 231 protected:
253 // Add custom switches needed for running the test. 232 // Add custom switches needed for running the test.
254 virtual void AddTestSwitches(base::CommandLine* cl); 233 virtual void AddTestSwitches(base::CommandLine* cl);
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 // Fake URLFetcher factory used to mock out GAIA signin. 397 // Fake URLFetcher factory used to mock out GAIA signin.
419 scoped_ptr<net::FakeURLFetcherFactory> fake_factory_; 398 scoped_ptr<net::FakeURLFetcherFactory> fake_factory_;
420 399
421 // The URLFetcherImplFactory instance used to instantiate |fake_factory_|. 400 // The URLFetcherImplFactory instance used to instantiate |fake_factory_|.
422 scoped_ptr<net::URLFetcherImplFactory> factory_; 401 scoped_ptr<net::URLFetcherImplFactory> factory_;
423 402
424 DISALLOW_COPY_AND_ASSIGN(SyncTest); 403 DISALLOW_COPY_AND_ASSIGN(SyncTest);
425 }; 404 };
426 405
427 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_ 406 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_SYNC_TEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698