| 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 |