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

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

Issue 408913002: Wire FailureValue in PageTestResults (try 2). (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 bd76ce422b07051e7415f03638c579b3d2dd148a..5bab580fd53c256dfa3bda4ee7e1ea339d6b7aac 100644
--- a/tools/telemetry/telemetry/results/page_test_results.py
+++ b/tools/telemetry/telemetry/results/page_test_results.py
@@ -5,18 +5,18 @@
import collections
import copy
import logging
-import sys
import traceback
from telemetry import value as value_module
+from telemetry.value import failure
class PageTestResults(object):
def __init__(self, output_stream=None):
super(PageTestResults, self).__init__()
self._output_stream = output_stream
- self.pages_that_had_failures = set()
+ # TODO(chrishenry,eakuefner): Remove self.successes once they can
+ # be inferred.
self.successes = []
- self.failures = []
self.skipped = []
self._representative_value_for_each_value_name = {}
@@ -42,10 +42,21 @@ class PageTestResults(object):
@property
def pages_that_succeeded(self):
+ """Returns the set of pages that succeeded."""
pages = set([value.page for value in self._all_page_specific_values])
nednguyen 2014/07/23 16:34:49 nits: There is no need to allocate a list here a
chrishenry 2014/07/23 17:48:25 Done.
pages.difference_update(self.pages_that_had_failures)
return pages
+ @property
+ def pages_that_had_failures(self):
+ """Returns the set of failed pages."""
+ return set([v.page for v in self.failures])
nednguyen 2014/07/23 16:34:49 "Accordingly, the requirements for set elements ar
chrishenry 2014/07/23 17:48:24 This is fine, see https://docs.python.org/2/glossa
+
+ @property
+ def failures(self):
+ values = self._all_page_specific_values
+ return [v for v in values if isinstance(v, failure.FailureValue)]
+
def _GetStringFromExcInfo(self, err):
nednguyen 2014/07/23 16:34:49 Dead code.
chrishenry 2014/07/23 17:48:24 Done.
return ''.join(traceback.format_exception(*err))
@@ -72,26 +83,16 @@ class PageTestResults(object):
value.name]
assert value.IsMergableWith(representative_value)
- def AddFailure(self, page, err):
- self.pages_that_had_failures.add(page)
- self.failures.append((page, self._GetStringFromExcInfo(err)))
-
def AddSkip(self, page, reason):
self.skipped.append((page, reason))
def AddSuccess(self, page):
self.successes.append(page)
- def AddFailureMessage(self, page, message):
- try:
- raise Exception(message)
- except Exception:
- self.AddFailure(page, sys.exc_info())
-
def PrintSummary(self):
if self.failures:
logging.error('Failed pages:\n%s', '\n'.join(
- p.display_name for p in zip(*self.failures)[0]))
+ p.display_name for p in self.pages_that_had_failures))
if self.skipped:
logging.warning('Skipped pages:\n%s', '\n'.join(

Powered by Google App Engine
This is Rietveld 408576698