updated_progress_marker_checker.h revision a1401311d1ab56c4ed0a474bd38c108f75cb0cd9
1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_UPDATED_PROGRESS_MARKER_CHECKER_H_ 6#define CHROME_BROWSER_SYNC_TEST_INTEGRATION_UPDATED_PROGRESS_MARKER_CHECKER_H_ 7 8#include "chrome/browser/sync/test/integration/single_client_status_change_checker.h" 9 10// Waits until the latest progress markers are available. 11// 12// There are several limitations to this checker: 13// - It assumes that this client is the only one committing at this time. 14// - It relies on the test-only 'self-notify' to trigger an extra GetUpdate 15// cycle after every commit. 16// - It's flaky. In some rare cases, the IsExitConditionSatisifed() call could 17// return a false positive. See comments in the .cc file for details. 18// 19// Because of these limitations, we intend to eventually migrate all tests off 20// of this checker. Please do not use it in new tests. 21class UpdatedProgressMarkerChecker : public SingleClientStatusChangeChecker { 22 public: 23 explicit UpdatedProgressMarkerChecker(ProfileSyncService* service); 24 virtual ~UpdatedProgressMarkerChecker(); 25 26 virtual bool IsExitConditionSatisfied() OVERRIDE; 27 virtual std::string GetDebugMessage() const OVERRIDE; 28}; 29 30#endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_UPDATED_PROGRESS_MARKER_CHECKER_H_ 31