| Index: tools/telemetry/telemetry/results/page_test_results.py
|
| diff --git a/tools/telemetry/telemetry/results/page_test_results.py b/tools/telemetry/telemetry/results/page_test_results.py
|
| index c234eb67e37c8d9aa31464e81266e34bd7c9573c..68be0c40f3e3344c614f6bb991fa418d759e32a7 100644
|
| --- a/tools/telemetry/telemetry/results/page_test_results.py
|
| +++ b/tools/telemetry/telemetry/results/page_test_results.py
|
| @@ -4,23 +4,26 @@
|
|
|
| import collections
|
| import copy
|
| -import logging
|
| import traceback
|
|
|
| from telemetry import value as value_module
|
| from telemetry.results import page_run
|
| +from telemetry.results import progress_reporter as progress_reporter_module
|
| from telemetry.value import failure
|
| from telemetry.value import skip
|
|
|
|
|
| class PageTestResults(object):
|
| - def __init__(self, output_stream=None, output_formatters=None, trace_tag=''):
|
| + def __init__(self, output_stream=None, output_formatters=None,
|
| + progress_reporter=None, trace_tag=''):
|
| """
|
| Args:
|
| output_stream: The output stream to use to write test results.
|
| output_formatters: A list of output formatters. The output
|
| formatters are typically used to format the test results, such
|
| as CsvOutputFormatter, which output the test results as CSV.
|
| + progress_reporter: An instance of progress_reporter.ProgressReporter,
|
| + to be used to output test status/results progressively.
|
| trace_tag: A string to append to the buildbot trace
|
| name. Currently only used for buildbot.
|
| """
|
| @@ -28,6 +31,9 @@ class PageTestResults(object):
|
|
|
| super(PageTestResults, self).__init__()
|
| self._output_stream = output_stream
|
| + self._progress_reporter = (
|
| + progress_reporter if progress_reporter is not None
|
| + else progress_reporter_module.ProgressReporter(self._output_stream))
|
| self._output_formatters = (
|
| output_formatters if output_formatters is not None else [])
|
| self._trace_tag = trace_tag
|
| @@ -100,6 +106,7 @@ class PageTestResults(object):
|
| def WillRunPage(self, page):
|
| assert not self._current_page_run, 'Did not call DidRunPage.'
|
| self._current_page_run = page_run.PageRun(page)
|
| + self._progress_reporter.WillRunPage(page)
|
|
|
| def DidRunPage(self, page, discard_run=False): # pylint: disable=W0613
|
| """
|
| @@ -127,6 +134,7 @@ class PageTestResults(object):
|
| self._ValidateValue(value)
|
| # TODO(eakuefner/chrishenry): Add only one skip per pagerun assert here
|
| self._current_page_run.AddValue(value)
|
| + self._progress_reporter.DidAddValue(value)
|
|
|
| def AddSummaryValue(self, value):
|
| assert value.page is None
|
| @@ -143,20 +151,13 @@ class PageTestResults(object):
|
|
|
| # TODO(chrishenry): Kill this in a separate patch.
|
| def AddSuccess(self, page):
|
| - pass
|
| + self._progress_reporter.DidAddSuccess(page)
|
|
|
| def PrintSummary(self):
|
| + self._progress_reporter.DidFinishAllTests(self)
|
| for output_formatter in self._output_formatters:
|
| output_formatter.Format(self)
|
|
|
| - if self.failures:
|
| - logging.error('Failed pages:\n%s', '\n'.join(
|
| - p.display_name for p in self.pages_that_failed))
|
| -
|
| - if self.skipped_values:
|
| - logging.warning('Skipped pages:\n%s', '\n'.join(
|
| - v.page.display_name for v in self.skipped_values))
|
| -
|
| def FindPageSpecificValuesForPage(self, page, value_name):
|
| values = []
|
| for value in self.all_page_specific_values:
|
|
|