15f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved.
25f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
35f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)# found in the LICENSE file.
45f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
65f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)class ProgressReporter(object):
75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  """A class that reports progress of a benchmark.
85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  The reporter produces output whenever a significant event happens
105f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  during the progress of a benchmark, including (but not limited to):
115f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  when a page run is started, when a page run finished, any failures
125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  during a page run.
135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  The default implementation outputs nothing.
155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  """
165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  def DidAddValue(self, value):
185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    pass
195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  def WillRunPage(self, page_test_results):
215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    pass
225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  def DidRunPage(self, page_test_results):
245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    pass
255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  def WillAttemptPageRun(self, page_test_results, attempt_count, max_attempts):
275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    """
285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    Args:
295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      attempt_count: The current attempt number, start at 1
305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)          (attempt_count == 1 for the first attempt, 2 for second
315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)          attempt, and so on).
325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)      max_attempts: Maximum number of page run attempts before failing.
335f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    """
345f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    pass
355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  def DidFinishAllTests(self, page_test_results):
375f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    pass
38