OLD | NEW |
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 Loading... |
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 Loading... |
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) |
OLD | NEW |