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 import os | 4 import os |
5 import StringIO | 5 import StringIO |
6 import unittest | 6 import unittest |
7 | 7 |
8 from telemetry import benchmark | 8 from telemetry import benchmark |
9 from telemetry import page as page_module | 9 from telemetry import page as page_module |
10 from telemetry.page import page_set | 10 from telemetry.page import page_set |
11 from telemetry.results import html_output_formatter | 11 from telemetry.results import html_output_formatter |
12 from telemetry.results import page_test_results | 12 from telemetry.results import page_test_results |
| 13 from telemetry.value import improvement_direction |
13 from telemetry.value import scalar | 14 from telemetry.value import scalar |
14 | 15 |
15 | 16 |
16 def _MakePageSet(): | 17 def _MakePageSet(): |
17 ps = page_set.PageSet(file_path=os.path.dirname(__file__)) | 18 ps = page_set.PageSet(file_path=os.path.dirname(__file__)) |
18 ps.AddUserStory(page_module.Page('http://www.foo.com/', ps, ps.base_dir)) | 19 ps.AddUserStory(page_module.Page('http://www.foo.com/', ps, ps.base_dir)) |
19 ps.AddUserStory(page_module.Page('http://www.bar.com/', ps, ps.base_dir)) | 20 ps.AddUserStory(page_module.Page('http://www.bar.com/', ps, ps.base_dir)) |
20 ps.AddUserStory(page_module.Page('http://www.baz.com/', ps, ps.base_dir)) | 21 ps.AddUserStory(page_module.Page('http://www.baz.com/', ps, ps.base_dir)) |
21 return ps | 22 return ps |
22 | 23 |
(...skipping 18 matching lines...) Expand all Loading... |
41 class HtmlOutputFormatterTest(unittest.TestCase): | 42 class HtmlOutputFormatterTest(unittest.TestCase): |
42 | 43 |
43 def test_basic_summary(self): | 44 def test_basic_summary(self): |
44 test_page_set = _MakePageSet() | 45 test_page_set = _MakePageSet() |
45 output_file = StringIOFile() | 46 output_file = StringIOFile() |
46 | 47 |
47 # Run the first time and verify the results are written to the HTML file. | 48 # Run the first time and verify the results are written to the HTML file. |
48 results = page_test_results.PageTestResults() | 49 results = page_test_results.PageTestResults() |
49 results.WillRunPage(test_page_set.pages[0]) | 50 results.WillRunPage(test_page_set.pages[0]) |
50 results.AddValue(scalar.ScalarValue( | 51 results.AddValue(scalar.ScalarValue( |
51 test_page_set.pages[0], 'a', 'seconds', 3)) | 52 test_page_set.pages[0], 'a', 'seconds', 3, |
| 53 improvement_direction=improvement_direction.DOWN)) |
52 results.DidRunPage(test_page_set.pages[0]) | 54 results.DidRunPage(test_page_set.pages[0]) |
53 | 55 |
54 results.WillRunPage(test_page_set.pages[1]) | 56 results.WillRunPage(test_page_set.pages[1]) |
55 results.AddValue(scalar.ScalarValue( | 57 results.AddValue(scalar.ScalarValue( |
56 test_page_set.pages[1], 'a', 'seconds', 7)) | 58 test_page_set.pages[1], 'a', 'seconds', 7, |
| 59 improvement_direction=improvement_direction.DOWN)) |
57 results.DidRunPage(test_page_set.pages[1]) | 60 results.DidRunPage(test_page_set.pages[1]) |
58 | 61 |
59 formatter = DeterministicHtmlOutputFormatter( | 62 formatter = DeterministicHtmlOutputFormatter( |
60 output_file, FakeMetadataForTest(), False, False, 'browser_type') | 63 output_file, FakeMetadataForTest(), False, False, 'browser_type') |
61 formatter.Format(results) | 64 formatter.Format(results) |
62 expected = { | 65 expected = { |
63 "platform": "browser_type", | 66 "platform": "browser_type", |
64 "buildTime": "build_time", | 67 "buildTime": "build_time", |
65 "label": None, | 68 "label": None, |
66 "tests": { | 69 "tests": { |
(...skipping 29 matching lines...) Expand all Loading... |
96 }, | 99 }, |
97 "revision": "revision" | 100 "revision": "revision" |
98 } | 101 } |
99 self.assertEquals(expected, formatter.GetResults()) | 102 self.assertEquals(expected, formatter.GetResults()) |
100 | 103 |
101 # Run the second time and verify the results are appended to the HTML file. | 104 # Run the second time and verify the results are appended to the HTML file. |
102 output_file.seek(0) | 105 output_file.seek(0) |
103 results = page_test_results.PageTestResults() | 106 results = page_test_results.PageTestResults() |
104 results.WillRunPage(test_page_set.pages[0]) | 107 results.WillRunPage(test_page_set.pages[0]) |
105 results.AddValue(scalar.ScalarValue( | 108 results.AddValue(scalar.ScalarValue( |
106 test_page_set.pages[0], 'a', 'seconds', 4)) | 109 test_page_set.pages[0], 'a', 'seconds', 4, |
| 110 improvement_direction=improvement_direction.DOWN)) |
107 results.DidRunPage(test_page_set.pages[0]) | 111 results.DidRunPage(test_page_set.pages[0]) |
108 | 112 |
109 results.WillRunPage(test_page_set.pages[1]) | 113 results.WillRunPage(test_page_set.pages[1]) |
110 results.AddValue(scalar.ScalarValue( | 114 results.AddValue(scalar.ScalarValue( |
111 test_page_set.pages[1], 'a', 'seconds', 8)) | 115 test_page_set.pages[1], 'a', 'seconds', 8, |
| 116 improvement_direction=improvement_direction.DOWN)) |
112 results.DidRunPage(test_page_set.pages[1]) | 117 results.DidRunPage(test_page_set.pages[1]) |
113 | 118 |
114 formatter = DeterministicHtmlOutputFormatter( | 119 formatter = DeterministicHtmlOutputFormatter( |
115 output_file, FakeMetadataForTest(), False, False, 'browser_type') | 120 output_file, FakeMetadataForTest(), False, False, 'browser_type') |
116 formatter.Format(results) | 121 formatter.Format(results) |
117 expected = [ | 122 expected = [ |
118 { | 123 { |
119 "platform": "browser_type", | 124 "platform": "browser_type", |
120 "buildTime": "build_time", | 125 "buildTime": "build_time", |
121 "label": None, | 126 "label": None, |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 "revision": "revision" | 195 "revision": "revision" |
191 }] | 196 }] |
192 self.assertEquals(expected, formatter.GetCombinedResults()) | 197 self.assertEquals(expected, formatter.GetCombinedResults()) |
193 last_output_len = len(output_file.getvalue()) | 198 last_output_len = len(output_file.getvalue()) |
194 | 199 |
195 # Now reset the results and verify the old ones are gone. | 200 # Now reset the results and verify the old ones are gone. |
196 output_file.seek(0) | 201 output_file.seek(0) |
197 results = page_test_results.PageTestResults() | 202 results = page_test_results.PageTestResults() |
198 results.WillRunPage(test_page_set.pages[0]) | 203 results.WillRunPage(test_page_set.pages[0]) |
199 results.AddValue(scalar.ScalarValue( | 204 results.AddValue(scalar.ScalarValue( |
200 test_page_set.pages[0], 'a', 'seconds', 5)) | 205 test_page_set.pages[0], 'a', 'seconds', 5, |
| 206 improvement_direction=improvement_direction.DOWN)) |
201 results.DidRunPage(test_page_set.pages[0]) | 207 results.DidRunPage(test_page_set.pages[0]) |
202 | 208 |
203 results.WillRunPage(test_page_set.pages[1]) | 209 results.WillRunPage(test_page_set.pages[1]) |
204 results.AddValue(scalar.ScalarValue( | 210 results.AddValue(scalar.ScalarValue( |
205 test_page_set.pages[1], 'a', 'seconds', 9)) | 211 test_page_set.pages[1], 'a', 'seconds', 9, |
| 212 improvement_direction=improvement_direction.DOWN)) |
206 results.DidRunPage(test_page_set.pages[1]) | 213 results.DidRunPage(test_page_set.pages[1]) |
207 | 214 |
208 formatter = DeterministicHtmlOutputFormatter( | 215 formatter = DeterministicHtmlOutputFormatter( |
209 output_file, FakeMetadataForTest(), True, False, 'browser_type') | 216 output_file, FakeMetadataForTest(), True, False, 'browser_type') |
210 formatter.Format(results) | 217 formatter.Format(results) |
211 expected = [{ | 218 expected = [{ |
212 "platform": "browser_type", | 219 "platform": "browser_type", |
213 "buildTime": "build_time", | 220 "buildTime": "build_time", |
214 "label": None, | 221 "label": None, |
215 "tests": { | 222 "tests": { |
(...skipping 24 matching lines...) Expand all Loading... |
240 "units": "seconds", | 247 "units": "seconds", |
241 "important": False | 248 "important": False |
242 } | 249 } |
243 } | 250 } |
244 } | 251 } |
245 }, | 252 }, |
246 "revision": "revision" | 253 "revision": "revision" |
247 }] | 254 }] |
248 self.assertEquals(expected, formatter.GetCombinedResults()) | 255 self.assertEquals(expected, formatter.GetCombinedResults()) |
249 self.assertTrue(len(output_file.getvalue()) < last_output_len) | 256 self.assertTrue(len(output_file.getvalue()) < last_output_len) |
OLD | NEW |