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

Unified Diff: chrome/browser/sync/test/integration/migration_waiter.h

Issue 490643004: sync: Refactor migration integration tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/test/integration/migration_waiter.h
diff --git a/chrome/browser/sync/test/integration/migration_waiter.h b/chrome/browser/sync/test/integration/migration_waiter.h
new file mode 100644
index 0000000000000000000000000000000000000000..ff179f558aaddf6b7058ce882305f55f3426b4b5
--- /dev/null
+++ b/chrome/browser/sync/test/integration/migration_waiter.h
@@ -0,0 +1,47 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_MIGRATION_WAITER_H_
+#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_MIGRATION_WAITER_H_
+
+#include "base/macros.h"
+#include "chrome/browser/sync/test/integration/status_change_checker.h"
+#include "sync/internal_api/public/base/model_type.h"
+
+class MigrationWatcher;
+
+// Helper class that checks if the sync backend has successfully completed
+// migration for a set of data types.
+//
+// Collaborates with the MigrationWatcher, defined above.
+class MigrationWaiter : public StatusChangeChecker {
+ public:
+ // Initialize a waiter that will wait until |watcher|'s migrated types
+ // match the provided |exptected_types|.
+ MigrationWaiter(syncer::ModelTypeSet expected_types,
+ MigrationWatcher* watcher);
+
+ virtual ~MigrationWaiter();
+
+ // Implementation of StatusChangeChecker.
+ virtual bool IsExitConditionSatisfied() OVERRIDE;
+ virtual std::string GetDebugMessage() const OVERRIDE;
+
+ // Function to trigger the waiting.
+ void Wait();
+
+ // Callback invoked by our associated waiter when migration state changes.
+ void OnMigrationStateChange();
+
+ private:
+ // The MigrationWatcher we're observering.
+ MigrationWatcher* const watcher_;
David Abrahams 2014/08/22 18:54:41 Nit: Feels a little weird that a Watcher has a Wai
+
+ // The set of data types that are expected to eventually undergo migration.
+ const syncer::ModelTypeSet expected_types_;
+
+ DISALLOW_COPY_AND_ASSIGN(MigrationWaiter);
+};
+
+#endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_MIGRATION_WAITER_H_
« no previous file with comments | « chrome/browser/sync/test/integration/migration_test.cc ('k') | chrome/browser/sync/test/integration/migration_waiter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698