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

Side by Side Diff: tools/telemetry/telemetry/internal/results/page_test_results_unittest.py

Issue 1313243003: [Telemetry] Introduce SummarizableValue. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 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 os 5 import os
6 import unittest 6 import unittest
7 7
8 from telemetry import story 8 from telemetry import story
9 from telemetry.internal.results import base_test_results_unittest 9 from telemetry.internal.results import base_test_results_unittest
10 from telemetry.internal.results import page_test_results 10 from telemetry.internal.results import page_test_results
11 from telemetry import page as page_module 11 from telemetry import page as page_module
12 from telemetry.timeline import trace_data 12 from telemetry.timeline import trace_data
13 from telemetry.value import failure 13 from telemetry.value import failure
14 from telemetry.value import histogram 14 from telemetry.value import histogram
15 from telemetry.value import improvement_direction
15 from telemetry.value import scalar 16 from telemetry.value import scalar
16 from telemetry.value import skip 17 from telemetry.value import skip
17 from telemetry.value import trace 18 from telemetry.value import trace
18 19
19 class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest): 20 class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
20 def setUp(self): 21 def setUp(self):
21 story_set = story.StorySet(base_dir=os.path.dirname(__file__)) 22 story_set = story.StorySet(base_dir=os.path.dirname(__file__))
22 story_set.AddStory(page_module.Page("http://www.bar.com/", story_set, story_ set.base_dir)) 23 story_set.AddStory(page_module.Page("http://www.bar.com/", story_set, story_ set.base_dir))
23 story_set.AddStory(page_module.Page("http://www.baz.com/", story_set, story_ set.base_dir)) 24 story_set.AddStory(page_module.Page("http://www.baz.com/", story_set, story_ set.base_dir))
24 story_set.AddStory(page_module.Page("http://www.foo.com/", story_set, story_ set.base_dir)) 25 story_set.AddStory(page_module.Page("http://www.foo.com/", story_set, story_ set.base_dir))
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 self.assertEqual(set([self.pages[0], self.pages[1]]), 60 self.assertEqual(set([self.pages[0], self.pages[1]]),
60 results.pages_that_succeeded) 61 results.pages_that_succeeded)
61 62
62 self.assertEqual(2, len(results.all_page_runs)) 63 self.assertEqual(2, len(results.all_page_runs))
63 self.assertTrue(results.all_page_runs[0].skipped) 64 self.assertTrue(results.all_page_runs[0].skipped)
64 self.assertTrue(results.all_page_runs[1].ok) 65 self.assertTrue(results.all_page_runs[1].ok)
65 66
66 def testBasic(self): 67 def testBasic(self):
67 results = page_test_results.PageTestResults() 68 results = page_test_results.PageTestResults()
68 results.WillRunPage(self.pages[0]) 69 results.WillRunPage(self.pages[0])
69 results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)) 70 results.AddValue(scalar.ScalarValue(
71 self.pages[0], 'a', 'seconds', 3,
72 improvement_direction=improvement_direction.UP))
70 results.DidRunPage(self.pages[0]) 73 results.DidRunPage(self.pages[0])
71 74
72 results.WillRunPage(self.pages[1]) 75 results.WillRunPage(self.pages[1])
73 results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 3)) 76 results.AddValue(scalar.ScalarValue(
77 self.pages[1], 'a', 'seconds', 3,
78 improvement_direction=improvement_direction.UP))
74 results.DidRunPage(self.pages[1]) 79 results.DidRunPage(self.pages[1])
75 80
76 results.PrintSummary() 81 results.PrintSummary()
77 82
78 values = results.FindPageSpecificValuesForPage(self.pages[0], 'a') 83 values = results.FindPageSpecificValuesForPage(self.pages[0], 'a')
79 self.assertEquals(1, len(values)) 84 self.assertEquals(1, len(values))
80 v = values[0] 85 v = values[0]
81 self.assertEquals(v.name, 'a') 86 self.assertEquals(v.name, 'a')
82 self.assertEquals(v.page, self.pages[0]) 87 self.assertEquals(v.page, self.pages[0])
83 88
84 values = results.FindAllPageSpecificValuesNamed('a') 89 values = results.FindAllPageSpecificValuesNamed('a')
85 assert len(values) == 2 90 assert len(values) == 2
86 91
87 def testUrlIsInvalidValue(self): 92 def testUrlIsInvalidValue(self):
88 results = page_test_results.PageTestResults() 93 results = page_test_results.PageTestResults()
89 results.WillRunPage(self.pages[0]) 94 results.WillRunPage(self.pages[0])
90 self.assertRaises( 95 self.assertRaises(
91 AssertionError, 96 AssertionError,
92 lambda: results.AddValue(scalar.ScalarValue( 97 lambda: results.AddValue(scalar.ScalarValue(
93 self.pages[0], 'url', 'string', 'foo'))) 98 self.pages[0], 'url', 'string', 'foo',
99 improvement_direction=improvement_direction.UP)))
94 100
95 def testAddSummaryValueWithPageSpecified(self): 101 def testAddSummaryValueWithPageSpecified(self):
96 results = page_test_results.PageTestResults() 102 results = page_test_results.PageTestResults()
97 results.WillRunPage(self.pages[0]) 103 results.WillRunPage(self.pages[0])
98 self.assertRaises( 104 self.assertRaises(
99 AssertionError, 105 AssertionError,
100 lambda: results.AddSummaryValue(scalar.ScalarValue(self.pages[0], 106 lambda: results.AddSummaryValue(scalar.ScalarValue(
101 'a', 'units', 3))) 107 self.pages[0], 'a', 'units', 3,
108 improvement_direction=improvement_direction.UP)))
102 109
103 def testUnitChange(self): 110 def testUnitChange(self):
104 results = page_test_results.PageTestResults() 111 results = page_test_results.PageTestResults()
105 results.WillRunPage(self.pages[0]) 112 results.WillRunPage(self.pages[0])
106 results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)) 113 results.AddValue(scalar.ScalarValue(
114 self.pages[0], 'a', 'seconds', 3,
115 improvement_direction=improvement_direction.UP))
107 results.DidRunPage(self.pages[0]) 116 results.DidRunPage(self.pages[0])
108 117
109 results.WillRunPage(self.pages[1]) 118 results.WillRunPage(self.pages[1])
110 self.assertRaises( 119 self.assertRaises(
111 AssertionError, 120 AssertionError,
112 lambda: results.AddValue(scalar.ScalarValue( 121 lambda: results.AddValue(scalar.ScalarValue(
113 self.pages[1], 'a', 'foobgrobbers', 3))) 122 self.pages[1], 'a', 'foobgrobbers', 3,
123 improvement_direction=improvement_direction.UP)))
114 124
115 def testTypeChange(self): 125 def testTypeChange(self):
116 results = page_test_results.PageTestResults() 126 results = page_test_results.PageTestResults()
117 results.WillRunPage(self.pages[0]) 127 results.WillRunPage(self.pages[0])
118 results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)) 128 results.AddValue(scalar.ScalarValue(
129 self.pages[0], 'a', 'seconds', 3,
130 improvement_direction=improvement_direction.UP))
119 results.DidRunPage(self.pages[0]) 131 results.DidRunPage(self.pages[0])
120 132
121 results.WillRunPage(self.pages[1]) 133 results.WillRunPage(self.pages[1])
122 self.assertRaises( 134 self.assertRaises(
123 AssertionError, 135 AssertionError,
124 lambda: results.AddValue(histogram.HistogramValue( 136 lambda: results.AddValue(histogram.HistogramValue(
125 self.pages[1], 'a', 'seconds', 137 self.pages[1], 'a', 'seconds',
126 raw_value_json='{"buckets": [{"low": 1, "high": 2, "count": 1}]}'))) 138 raw_value_json='{"buckets": [{"low": 1, "high": 2, "count": 1}]}',
139 improvement_direction=improvement_direction.UP)))
127 140
128 def testGetPagesThatSucceededAllPagesFail(self): 141 def testGetPagesThatSucceededAllPagesFail(self):
129 results = page_test_results.PageTestResults() 142 results = page_test_results.PageTestResults()
130 results.WillRunPage(self.pages[0]) 143 results.WillRunPage(self.pages[0])
131 results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)) 144 results.AddValue(scalar.ScalarValue(
145 self.pages[0], 'a', 'seconds', 3,
146 improvement_direction=improvement_direction.UP))
132 results.AddValue(failure.FailureValue.FromMessage(self.pages[0], 'message')) 147 results.AddValue(failure.FailureValue.FromMessage(self.pages[0], 'message'))
133 results.DidRunPage(self.pages[0]) 148 results.DidRunPage(self.pages[0])
134 149
135 results.WillRunPage(self.pages[1]) 150 results.WillRunPage(self.pages[1])
136 results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 7)) 151 results.AddValue(scalar.ScalarValue(
152 self.pages[1], 'a', 'seconds', 7,
153 improvement_direction=improvement_direction.UP))
137 results.AddValue(failure.FailureValue.FromMessage(self.pages[1], 'message')) 154 results.AddValue(failure.FailureValue.FromMessage(self.pages[1], 'message'))
138 results.DidRunPage(self.pages[1]) 155 results.DidRunPage(self.pages[1])
139 156
140 results.PrintSummary() 157 results.PrintSummary()
141 self.assertEquals(0, len(results.pages_that_succeeded)) 158 self.assertEquals(0, len(results.pages_that_succeeded))
142 159
143 def testGetSuccessfulPageValuesMergedNoFailures(self): 160 def testGetSuccessfulPageValuesMergedNoFailures(self):
144 results = page_test_results.PageTestResults() 161 results = page_test_results.PageTestResults()
145 results.WillRunPage(self.pages[0]) 162 results.WillRunPage(self.pages[0])
146 results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)) 163 results.AddValue(scalar.ScalarValue(
164 self.pages[0], 'a', 'seconds', 3,
165 improvement_direction=improvement_direction.UP))
147 self.assertEquals(1, len(results.all_page_specific_values)) 166 self.assertEquals(1, len(results.all_page_specific_values))
148 results.DidRunPage(self.pages[0]) 167 results.DidRunPage(self.pages[0])
149 168
150 def testGetAllValuesForSuccessfulPages(self): 169 def testGetAllValuesForSuccessfulPages(self):
151 results = page_test_results.PageTestResults() 170 results = page_test_results.PageTestResults()
152 results.WillRunPage(self.pages[0]) 171 results.WillRunPage(self.pages[0])
153 value1 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3) 172 value1 = scalar.ScalarValue(
173 self.pages[0], 'a', 'seconds', 3,
174 improvement_direction=improvement_direction.UP)
154 results.AddValue(value1) 175 results.AddValue(value1)
155 results.DidRunPage(self.pages[0]) 176 results.DidRunPage(self.pages[0])
156 177
157 results.WillRunPage(self.pages[1]) 178 results.WillRunPage(self.pages[1])
158 value2 = scalar.ScalarValue(self.pages[1], 'a', 'seconds', 3) 179 value2 = scalar.ScalarValue(
180 self.pages[1], 'a', 'seconds', 3,
181 improvement_direction=improvement_direction.UP)
159 results.AddValue(value2) 182 results.AddValue(value2)
160 results.DidRunPage(self.pages[1]) 183 results.DidRunPage(self.pages[1])
161 184
162 results.WillRunPage(self.pages[2]) 185 results.WillRunPage(self.pages[2])
163 value3 = scalar.ScalarValue(self.pages[2], 'a', 'seconds', 3) 186 value3 = scalar.ScalarValue(
187 self.pages[2], 'a', 'seconds', 3,
188 improvement_direction=improvement_direction.UP)
164 results.AddValue(value3) 189 results.AddValue(value3)
165 results.DidRunPage(self.pages[2]) 190 results.DidRunPage(self.pages[2])
166 191
167 self.assertEquals( 192 self.assertEquals(
168 [value1, value2, value3], results.all_page_specific_values) 193 [value1, value2, value3], results.all_page_specific_values)
169 194
170 def testGetAllValuesForSuccessfulPagesOnePageFails(self): 195 def testGetAllValuesForSuccessfulPagesOnePageFails(self):
171 results = page_test_results.PageTestResults() 196 results = page_test_results.PageTestResults()
172 results.WillRunPage(self.pages[0]) 197 results.WillRunPage(self.pages[0])
173 value1 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3) 198 value1 = scalar.ScalarValue(
199 self.pages[0], 'a', 'seconds', 3,
200 improvement_direction=improvement_direction.UP)
174 results.AddValue(value1) 201 results.AddValue(value1)
175 results.DidRunPage(self.pages[0]) 202 results.DidRunPage(self.pages[0])
176 203
177 results.WillRunPage(self.pages[1]) 204 results.WillRunPage(self.pages[1])
178 value2 = failure.FailureValue.FromMessage(self.pages[1], 'Failure') 205 value2 = failure.FailureValue.FromMessage(self.pages[1], 'Failure')
179 results.AddValue(value2) 206 results.AddValue(value2)
180 results.DidRunPage(self.pages[1]) 207 results.DidRunPage(self.pages[1])
181 208
182 results.WillRunPage(self.pages[2]) 209 results.WillRunPage(self.pages[2])
183 value3 = scalar.ScalarValue(self.pages[2], 'a', 'seconds', 3) 210 value3 = scalar.ScalarValue(
211 self.pages[2], 'a', 'seconds', 3,
212 improvement_direction=improvement_direction.UP)
184 results.AddValue(value3) 213 results.AddValue(value3)
185 results.DidRunPage(self.pages[2]) 214 results.DidRunPage(self.pages[2])
186 215
187 self.assertEquals( 216 self.assertEquals(
188 [value1, value2, value3], results.all_page_specific_values) 217 [value1, value2, value3], results.all_page_specific_values)
189 218
190 def testFindValues(self): 219 def testFindValues(self):
191 results = page_test_results.PageTestResults() 220 results = page_test_results.PageTestResults()
192 results.WillRunPage(self.pages[0]) 221 results.WillRunPage(self.pages[0])
193 v0 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3) 222 v0 = scalar.ScalarValue(
223 self.pages[0], 'a', 'seconds', 3,
224 improvement_direction=improvement_direction.UP)
194 results.AddValue(v0) 225 results.AddValue(v0)
195 v1 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 4) 226 v1 = scalar.ScalarValue(
227 self.pages[0], 'a', 'seconds', 4,
228 improvement_direction=improvement_direction.UP)
196 results.AddValue(v1) 229 results.AddValue(v1)
197 results.DidRunPage(self.pages[1]) 230 results.DidRunPage(self.pages[1])
198 231
199 values = results.FindValues(lambda v: v.value == 3) 232 values = results.FindValues(lambda v: v.value == 3)
200 self.assertEquals([v0], values) 233 self.assertEquals([v0], values)
201 234
202 def testValueWithTIRLabel(self): 235 def testValueWithTIRLabel(self):
203 results = page_test_results.PageTestResults() 236 results = page_test_results.PageTestResults()
204 results.WillRunPage(self.pages[0]) 237 results.WillRunPage(self.pages[0])
205 v0 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3, tir_label='foo') 238 v0 = scalar.ScalarValue(
239 self.pages[0], 'a', 'seconds', 3, tir_label='foo',
240 improvement_direction=improvement_direction.UP)
206 results.AddValue(v0) 241 results.AddValue(v0)
207 v1 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3, tir_label='bar') 242 v1 = scalar.ScalarValue(
243 self.pages[0], 'a', 'seconds', 3, tir_label='bar',
244 improvement_direction=improvement_direction.UP)
208 results.AddValue(v1) 245 results.AddValue(v1)
209 results.DidRunPage(self.pages[0]) 246 results.DidRunPage(self.pages[0])
210 247
211 values = results.FindAllPageSpecificValuesFromIRNamed('foo', 'a') 248 values = results.FindAllPageSpecificValuesFromIRNamed('foo', 'a')
212 self.assertEquals([v0], values) 249 self.assertEquals([v0], values)
213 250
214 def testTraceValue(self): 251 def testTraceValue(self):
215 results = page_test_results.PageTestResults() 252 results = page_test_results.PageTestResults()
216 results.WillRunPage(self.pages[0]) 253 results.WillRunPage(self.pages[0])
217 results.AddValue(trace.TraceValue(None, trace_data.TraceData({'test' : 1}))) 254 results.AddValue(trace.TraceValue(None, trace_data.TraceData({'test' : 1})))
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 @property 309 @property
273 def pages(self): 310 def pages(self):
274 return self.story_set.stories 311 return self.story_set.stories
275 312
276 def testFilterValue(self): 313 def testFilterValue(self):
277 def AcceptValueNamed_a(value, _): 314 def AcceptValueNamed_a(value, _):
278 return value.name == 'a' 315 return value.name == 'a'
279 results = page_test_results.PageTestResults( 316 results = page_test_results.PageTestResults(
280 value_can_be_added_predicate=AcceptValueNamed_a) 317 value_can_be_added_predicate=AcceptValueNamed_a)
281 results.WillRunPage(self.pages[0]) 318 results.WillRunPage(self.pages[0])
282 results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)) 319 results.AddValue(scalar.ScalarValue(
283 results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 3)) 320 self.pages[0], 'a', 'seconds', 3,
321 improvement_direction=improvement_direction.UP))
322 results.AddValue(scalar.ScalarValue(
323 self.pages[0], 'b', 'seconds', 3,
324 improvement_direction=improvement_direction.UP))
284 results.DidRunPage(self.pages[0]) 325 results.DidRunPage(self.pages[0])
285 326
286 results.WillRunPage(self.pages[1]) 327 results.WillRunPage(self.pages[1])
287 results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 3)) 328 results.AddValue(scalar.ScalarValue(
288 results.AddValue(scalar.ScalarValue(self.pages[1], 'd', 'seconds', 3)) 329 self.pages[1], 'a', 'seconds', 3,
330 improvement_direction=improvement_direction.UP))
331 results.AddValue(scalar.ScalarValue(
332 self.pages[1], 'd', 'seconds', 3,
333 improvement_direction=improvement_direction.UP))
289 results.DidRunPage(self.pages[1]) 334 results.DidRunPage(self.pages[1])
290 results.PrintSummary() 335 results.PrintSummary()
291 self.assertEquals( 336 self.assertEquals(
292 [('a', 'http://www.foo.com/'), ('a', 'http://www.bar.com/')], 337 [('a', 'http://www.foo.com/'), ('a', 'http://www.bar.com/')],
293 [(v.name, v.page.url) for v in results.all_page_specific_values]) 338 [(v.name, v.page.url) for v in results.all_page_specific_values])
294 339
295 def testFilterIsFirstResult(self): 340 def testFilterIsFirstResult(self):
296 def AcceptSecondValues(_, is_first_result): 341 def AcceptSecondValues(_, is_first_result):
297 return not is_first_result 342 return not is_first_result
298 results = page_test_results.PageTestResults( 343 results = page_test_results.PageTestResults(
299 value_can_be_added_predicate=AcceptSecondValues) 344 value_can_be_added_predicate=AcceptSecondValues)
300 345
301 # First results (filtered out) 346 # First results (filtered out)
302 results.WillRunPage(self.pages[0]) 347 results.WillRunPage(self.pages[0])
303 results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 7)) 348 results.AddValue(scalar.ScalarValue(
304 results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 8)) 349 self.pages[0], 'a', 'seconds', 7,
350 improvement_direction=improvement_direction.UP))
351 results.AddValue(scalar.ScalarValue(
352 self.pages[0], 'b', 'seconds', 8,
353 improvement_direction=improvement_direction.UP))
305 results.DidRunPage(self.pages[0]) 354 results.DidRunPage(self.pages[0])
306 results.WillRunPage(self.pages[1]) 355 results.WillRunPage(self.pages[1])
307 results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 5)) 356 results.AddValue(scalar.ScalarValue(
308 results.AddValue(scalar.ScalarValue(self.pages[1], 'd', 'seconds', 6)) 357 self.pages[1], 'a', 'seconds', 5,
358 improvement_direction=improvement_direction.UP))
359 results.AddValue(scalar.ScalarValue(
360 self.pages[1], 'd', 'seconds', 6,
361 improvement_direction=improvement_direction.UP))
309 results.DidRunPage(self.pages[1]) 362 results.DidRunPage(self.pages[1])
310 363
311 # Second results 364 # Second results
312 results.WillRunPage(self.pages[0]) 365 results.WillRunPage(self.pages[0])
313 results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)) 366 results.AddValue(scalar.ScalarValue(
314 results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 4)) 367 self.pages[0], 'a', 'seconds', 3,
368 improvement_direction=improvement_direction.UP))
369 results.AddValue(scalar.ScalarValue(
370 self.pages[0], 'b', 'seconds', 4,
371 improvement_direction=improvement_direction.UP))
315 results.DidRunPage(self.pages[0]) 372 results.DidRunPage(self.pages[0])
316 results.WillRunPage(self.pages[1]) 373 results.WillRunPage(self.pages[1])
317 results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 1)) 374 results.AddValue(scalar.ScalarValue(
318 results.AddValue(scalar.ScalarValue(self.pages[1], 'd', 'seconds', 2)) 375 self.pages[1], 'a', 'seconds', 1,
376 improvement_direction=improvement_direction.UP))
377 results.AddValue(scalar.ScalarValue(
378 self.pages[1], 'd', 'seconds', 2,
379 improvement_direction=improvement_direction.UP))
319 results.DidRunPage(self.pages[1]) 380 results.DidRunPage(self.pages[1])
320 results.PrintSummary() 381 results.PrintSummary()
321 expected_values = [ 382 expected_values = [
322 ('a', 'http://www.foo.com/', 3), 383 ('a', 'http://www.foo.com/', 3),
323 ('b', 'http://www.foo.com/', 4), 384 ('b', 'http://www.foo.com/', 4),
324 ('a', 'http://www.bar.com/', 1), 385 ('a', 'http://www.bar.com/', 1),
325 ('d', 'http://www.bar.com/', 2)] 386 ('d', 'http://www.bar.com/', 2)]
326 actual_values = [(v.name, v.page.url, v.value) 387 actual_values = [(v.name, v.page.url, v.value)
327 for v in results.all_page_specific_values] 388 for v in results.all_page_specific_values]
328 self.assertEquals(expected_values, actual_values) 389 self.assertEquals(expected_values, actual_values)
329 390
330 def testFailureValueCannotBeFiltered(self): 391 def testFailureValueCannotBeFiltered(self):
331 def AcceptValueNamed_a(value, _): 392 def AcceptValueNamed_a(value, _):
332 return value.name == 'a' 393 return value.name == 'a'
333 results = page_test_results.PageTestResults( 394 results = page_test_results.PageTestResults(
334 value_can_be_added_predicate=AcceptValueNamed_a) 395 value_can_be_added_predicate=AcceptValueNamed_a)
335 results.WillRunPage(self.pages[0]) 396 results.WillRunPage(self.pages[0])
336 results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 8)) 397 results.AddValue(scalar.ScalarValue(
398 self.pages[0], 'b', 'seconds', 8,
399 improvement_direction=improvement_direction.UP))
337 failure_value = failure.FailureValue.FromMessage(self.pages[0], 'failure') 400 failure_value = failure.FailureValue.FromMessage(self.pages[0], 'failure')
338 results.AddValue(failure_value) 401 results.AddValue(failure_value)
339 results.DidRunPage(self.pages[0]) 402 results.DidRunPage(self.pages[0])
340 results.PrintSummary() 403 results.PrintSummary()
341 404
342 # Although predicate says only accept values named 'a', the failure value is 405 # Although predicate says only accept values named 'a', the failure value is
343 # added anyway. 406 # added anyway.
344 self.assertEquals(len(results.all_page_specific_values), 1) 407 self.assertEquals(len(results.all_page_specific_values), 1)
345 self.assertIn(failure_value, results.all_page_specific_values) 408 self.assertIn(failure_value, results.all_page_specific_values)
346 409
347 def testSkipValueCannotBeFiltered(self): 410 def testSkipValueCannotBeFiltered(self):
348 def AcceptValueNamed_a(value, _): 411 def AcceptValueNamed_a(value, _):
349 return value.name == 'a' 412 return value.name == 'a'
350 results = page_test_results.PageTestResults( 413 results = page_test_results.PageTestResults(
351 value_can_be_added_predicate=AcceptValueNamed_a) 414 value_can_be_added_predicate=AcceptValueNamed_a)
352 results.WillRunPage(self.pages[0]) 415 results.WillRunPage(self.pages[0])
353 skip_value = skip.SkipValue(self.pages[0], 'skip for testing') 416 skip_value = skip.SkipValue(self.pages[0], 'skip for testing')
354 results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 8)) 417 results.AddValue(scalar.ScalarValue(
418 self.pages[0], 'b', 'seconds', 8,
419 improvement_direction=improvement_direction.UP))
355 results.AddValue(skip_value) 420 results.AddValue(skip_value)
356 results.DidRunPage(self.pages[0]) 421 results.DidRunPage(self.pages[0])
357 results.PrintSummary() 422 results.PrintSummary()
358 423
359 # Although predicate says only accept value with named 'a', skip value is 424 # Although predicate says only accept value with named 'a', skip value is
360 # added anyway. 425 # added anyway.
361 self.assertEquals(len(results.all_page_specific_values), 1) 426 self.assertEquals(len(results.all_page_specific_values), 1)
362 self.assertIn(skip_value, results.all_page_specific_values) 427 self.assertIn(skip_value, results.all_page_specific_values)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698