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

Side by Side Diff: tools/telemetry/telemetry/results/page_test_results.py

Issue 545523002: [Telemetry] Add capability for values to reference external files. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Better approach + more tests Created 6 years, 3 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 unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import collections 5 import collections
6 import copy 6 import copy
7 import itertools
8 import os
7 import traceback 9 import traceback
8 10
9 from telemetry import value as value_module 11 from telemetry import value as value_module
10 from telemetry.results import page_run 12 from telemetry.results import page_run
11 from telemetry.results import progress_reporter as progress_reporter_module 13 from telemetry.results import progress_reporter as progress_reporter_module
12 from telemetry.value import failure 14 from telemetry.value import failure
13 from telemetry.value import skip 15 from telemetry.value import skip
14 16
15 17
16 class PageTestResults(object): 18 class PageTestResults(object):
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 values += run.values 61 values += run.values
60 if self._current_page_run: 62 if self._current_page_run:
61 values += self._current_page_run.values 63 values += self._current_page_run.values
62 return values 64 return values
63 65
64 @property 66 @property
65 def all_summary_values(self): 67 def all_summary_values(self):
66 return self._all_summary_values 68 return self._all_summary_values
67 69
68 @property 70 @property
71 def all_values(self):
72 return itertools.chain(
73 self.all_page_specific_values,
74 self.all_summary_values)
75
76 @property
69 def current_page(self): 77 def current_page(self):
70 assert self._current_page_run, 'Not currently running test.' 78 assert self._current_page_run, 'Not currently running test.'
71 return self._current_page_run.page 79 return self._current_page_run.page
72 80
73 @property 81 @property
74 def current_page_run(self): 82 def current_page_run(self):
75 assert self._current_page_run, 'Not currently running test.' 83 assert self._current_page_run, 'Not currently running test.'
76 return self._current_page_run 84 return self._current_page_run
77 85
78 @property 86 @property
(...skipping 10 matching lines...) Expand all
89 @property 97 @property
90 def pages_that_failed(self): 98 def pages_that_failed(self):
91 """Returns the set of failed pages.""" 99 """Returns the set of failed pages."""
92 failed_pages = set() 100 failed_pages = set()
93 for run in self.all_page_runs: 101 for run in self.all_page_runs:
94 if run.failed: 102 if run.failed:
95 failed_pages.add(run.page) 103 failed_pages.add(run.page)
96 return failed_pages 104 return failed_pages
97 105
98 @property 106 @property
107 def all_paths(self):
108 """Returns the set of all paths to referenced files.
109
110 Since we are dealing with paths, and paths are not necessarily unique even
111 if they refer to the same file, we canonicalize paths using
112 os.path.normcase and os.path.realpath before adding them to the set that we
113 return.
114 """
115 paths = set()
116 for v in self.all_values:
117 paths.update(os.path.normcase(os.path.realpath(path)) for path in v.paths)
118
119 return paths
120
121 @property
99 def failures(self): 122 def failures(self):
100 values = self.all_page_specific_values 123 values = self.all_page_specific_values
101 return [v for v in values if isinstance(v, failure.FailureValue)] 124 return [v for v in values if isinstance(v, failure.FailureValue)]
102 125
103 @property 126 @property
104 def skipped_values(self): 127 def skipped_values(self):
105 values = self.all_page_specific_values 128 values = self.all_page_specific_values
106 return [v for v in values if isinstance(v, skip.SkipValue)] 129 return [v for v in values if isinstance(v, skip.SkipValue)]
107 130
108 def _GetStringFromExcInfo(self, err): 131 def _GetStringFromExcInfo(self, err):
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 if value.page == page and value.name == value_name: 197 if value.page == page and value.name == value_name:
175 values.append(value) 198 values.append(value)
176 return values 199 return values
177 200
178 def FindAllPageSpecificValuesNamed(self, value_name): 201 def FindAllPageSpecificValuesNamed(self, value_name):
179 values = [] 202 values = []
180 for value in self.all_page_specific_values: 203 for value in self.all_page_specific_values:
181 if value.name == value_name: 204 if value.name == value_name:
182 values.append(value) 205 values.append(value)
183 return values 206 return values
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698