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 datetime | 4 import datetime |
5 import os | 5 import os |
6 import StringIO | 6 import StringIO |
7 import unittest | 7 import unittest |
8 | 8 |
9 from telemetry import benchmark | 9 from telemetry import benchmark |
10 from telemetry import story | 10 from telemetry import story |
11 from telemetry.internal.results import html_output_formatter | 11 from telemetry.internal.results import html_output_formatter |
12 from telemetry.internal.results import page_test_results | 12 from telemetry.internal.results import page_test_results |
13 from telemetry import page as page_module | 13 from telemetry import page as page_module |
| 14 from telemetry.value import improvement_direction |
14 from telemetry.value import scalar | 15 from telemetry.value import scalar |
15 | 16 |
16 | 17 |
17 def _MakeStorySet(): | 18 def _MakeStorySet(): |
18 story_set = story.StorySet(base_dir=os.path.dirname(__file__)) | 19 story_set = story.StorySet(base_dir=os.path.dirname(__file__)) |
19 story_set.AddStory( | 20 story_set.AddStory( |
20 page_module.Page('http://www.foo.com/', story_set, story_set.base_dir)) | 21 page_module.Page('http://www.foo.com/', story_set, story_set.base_dir)) |
21 story_set.AddStory( | 22 story_set.AddStory( |
22 page_module.Page('http://www.bar.com/', story_set, story_set.base_dir)) | 23 page_module.Page('http://www.bar.com/', story_set, story_set.base_dir)) |
23 story_set.AddStory( | 24 story_set.AddStory( |
(...skipping 24 matching lines...) Expand all Loading... |
48 self.maxDiff = 100000 | 49 self.maxDiff = 100000 |
49 | 50 |
50 def test_basic_summary(self): | 51 def test_basic_summary(self): |
51 test_story_set = _MakeStorySet() | 52 test_story_set = _MakeStorySet() |
52 output_file = StringIOFile() | 53 output_file = StringIOFile() |
53 | 54 |
54 # Run the first time and verify the results are written to the HTML file. | 55 # Run the first time and verify the results are written to the HTML file. |
55 results = page_test_results.PageTestResults() | 56 results = page_test_results.PageTestResults() |
56 results.WillRunPage(test_story_set.stories[0]) | 57 results.WillRunPage(test_story_set.stories[0]) |
57 results.AddValue(scalar.ScalarValue( | 58 results.AddValue(scalar.ScalarValue( |
58 test_story_set.stories[0], 'a', 'seconds', 3)) | 59 test_story_set.stories[0], 'a', 'seconds', 3, |
| 60 improvement_direction=improvement_direction.DOWN)) |
59 results.DidRunPage(test_story_set.stories[0]) | 61 results.DidRunPage(test_story_set.stories[0]) |
60 | 62 |
61 results.WillRunPage(test_story_set.stories[1]) | 63 results.WillRunPage(test_story_set.stories[1]) |
62 results.AddValue(scalar.ScalarValue( | 64 results.AddValue(scalar.ScalarValue( |
63 test_story_set.stories[1], 'a', 'seconds', 7)) | 65 test_story_set.stories[1], 'a', 'seconds', 7, |
| 66 improvement_direction=improvement_direction.DOWN)) |
64 results.DidRunPage(test_story_set.stories[1]) | 67 results.DidRunPage(test_story_set.stories[1]) |
65 | 68 |
66 formatter = DeterministicHtmlOutputFormatter( | 69 formatter = DeterministicHtmlOutputFormatter( |
67 output_file, FakeMetadataForTest(), False, False, 'browser_type') | 70 output_file, FakeMetadataForTest(), False, False, 'browser_type') |
68 formatter.Format(results) | 71 formatter.Format(results) |
69 expected = { | 72 expected = { |
70 "platform": "browser_type", | 73 "platform": "browser_type", |
71 "buildTime": "1998-09-04T13:00:00.007777", | 74 "buildTime": "1998-09-04T13:00:00.007777", |
72 "label": 'test_name (1998-09-04 13:00:00)', | 75 "label": 'test_name (1998-09-04 13:00:00)', |
73 "tests": { | 76 "tests": { |
(...skipping 23 matching lines...) Expand all Loading... |
97 } | 100 } |
98 }, | 101 }, |
99 } | 102 } |
100 self.assertEquals(expected, formatter.GetResults()) | 103 self.assertEquals(expected, formatter.GetResults()) |
101 | 104 |
102 # Run the second time and verify the results are appended to the HTML file. | 105 # Run the second time and verify the results are appended to the HTML file. |
103 output_file.seek(0) | 106 output_file.seek(0) |
104 results = page_test_results.PageTestResults() | 107 results = page_test_results.PageTestResults() |
105 results.WillRunPage(test_story_set.stories[0]) | 108 results.WillRunPage(test_story_set.stories[0]) |
106 results.AddValue(scalar.ScalarValue( | 109 results.AddValue(scalar.ScalarValue( |
107 test_story_set.stories[0], 'a', 'seconds', 4)) | 110 test_story_set.stories[0], 'a', 'seconds', 4, |
| 111 improvement_direction=improvement_direction.DOWN)) |
108 results.DidRunPage(test_story_set.stories[0]) | 112 results.DidRunPage(test_story_set.stories[0]) |
109 | 113 |
110 results.WillRunPage(test_story_set.stories[1]) | 114 results.WillRunPage(test_story_set.stories[1]) |
111 results.AddValue(scalar.ScalarValue( | 115 results.AddValue(scalar.ScalarValue( |
112 test_story_set.stories[1], 'a', 'seconds', 8)) | 116 test_story_set.stories[1], 'a', 'seconds', 8, |
| 117 improvement_direction=improvement_direction.DOWN)) |
113 results.DidRunPage(test_story_set.stories[1]) | 118 results.DidRunPage(test_story_set.stories[1]) |
114 | 119 |
115 formatter = DeterministicHtmlOutputFormatter( | 120 formatter = DeterministicHtmlOutputFormatter( |
116 output_file, FakeMetadataForTest(), False, False, 'browser_type') | 121 output_file, FakeMetadataForTest(), False, False, 'browser_type') |
117 formatter.Format(results) | 122 formatter.Format(results) |
118 expected = [ | 123 expected = [ |
119 { | 124 { |
120 "platform": "browser_type", | 125 "platform": "browser_type", |
121 "buildTime": "1998-09-04T13:00:00.007777", | 126 "buildTime": "1998-09-04T13:00:00.007777", |
122 "label": 'test_name (1998-09-04 13:00:00)', | 127 "label": 'test_name (1998-09-04 13:00:00)', |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
179 }, | 184 }, |
180 }] | 185 }] |
181 self.assertEquals(expected, formatter.GetCombinedResults()) | 186 self.assertEquals(expected, formatter.GetCombinedResults()) |
182 last_output_len = len(output_file.getvalue()) | 187 last_output_len = len(output_file.getvalue()) |
183 | 188 |
184 # Now reset the results and verify the old ones are gone. | 189 # Now reset the results and verify the old ones are gone. |
185 output_file.seek(0) | 190 output_file.seek(0) |
186 results = page_test_results.PageTestResults() | 191 results = page_test_results.PageTestResults() |
187 results.WillRunPage(test_story_set.stories[0]) | 192 results.WillRunPage(test_story_set.stories[0]) |
188 results.AddValue(scalar.ScalarValue( | 193 results.AddValue(scalar.ScalarValue( |
189 test_story_set.stories[0], 'a', 'seconds', 5)) | 194 test_story_set.stories[0], 'a', 'seconds', 5, |
| 195 improvement_direction=improvement_direction.DOWN)) |
190 results.DidRunPage(test_story_set.stories[0]) | 196 results.DidRunPage(test_story_set.stories[0]) |
191 | 197 |
192 results.WillRunPage(test_story_set.stories[1]) | 198 results.WillRunPage(test_story_set.stories[1]) |
193 results.AddValue(scalar.ScalarValue( | 199 results.AddValue(scalar.ScalarValue( |
194 test_story_set.stories[1], 'a', 'seconds', 9)) | 200 test_story_set.stories[1], 'a', 'seconds', 9, |
| 201 improvement_direction=improvement_direction.DOWN)) |
195 results.DidRunPage(test_story_set.stories[1]) | 202 results.DidRunPage(test_story_set.stories[1]) |
196 | 203 |
197 formatter = DeterministicHtmlOutputFormatter( | 204 formatter = DeterministicHtmlOutputFormatter( |
198 output_file, FakeMetadataForTest(), True, False, 'browser_type') | 205 output_file, FakeMetadataForTest(), True, False, 'browser_type') |
199 formatter.Format(results) | 206 formatter.Format(results) |
200 expected = [{ | 207 expected = [{ |
201 "platform": "browser_type", | 208 "platform": "browser_type", |
202 "buildTime": "1998-09-04T13:00:00.007777", | 209 "buildTime": "1998-09-04T13:00:00.007777", |
203 "label": 'test_name (1998-09-04 13:00:00)', | 210 "label": 'test_name (1998-09-04 13:00:00)', |
204 "tests": { | 211 "tests": { |
(...skipping 18 matching lines...) Expand all Loading... |
223 "current": [5], | 230 "current": [5], |
224 "units": "seconds", | 231 "units": "seconds", |
225 "important": False | 232 "important": False |
226 } | 233 } |
227 } | 234 } |
228 } | 235 } |
229 }, | 236 }, |
230 }] | 237 }] |
231 self.assertEquals(expected, formatter.GetCombinedResults()) | 238 self.assertEquals(expected, formatter.GetCombinedResults()) |
232 self.assertTrue(len(output_file.getvalue()) < last_output_len) | 239 self.assertTrue(len(output_file.getvalue()) < last_output_len) |
OLD | NEW |