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

Unified Diff: tools/telemetry/telemetry/results/page_test_results.py

Issue 430383003: Have all --output-format produces progress report (in gtest-style). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 6 years, 5 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: 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:

Powered by Google App Engine
This is Rietveld 408576698