OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 | 6 |
7 from core import path_util | 7 from core import path_util |
8 from core import perf_benchmark | 8 from core import perf_benchmark |
9 | 9 |
10 from telemetry import benchmark | 10 from telemetry import benchmark |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 self._blink_perf_js += '\nwindow.fullFrameMeasurement = true;' | 118 self._blink_perf_js += '\nwindow.fullFrameMeasurement = true;' |
119 | 119 |
120 def CustomizeBrowserOptions(self, options): | 120 def CustomizeBrowserOptions(self, options): |
121 super(_BlinkPerfFullFrameMeasurement, self).CustomizeBrowserOptions( | 121 super(_BlinkPerfFullFrameMeasurement, self).CustomizeBrowserOptions( |
122 options) | 122 options) |
123 # Full layout measurement needs content_shell with internals testing API. | 123 # Full layout measurement needs content_shell with internals testing API. |
124 assert 'content-shell' in options.browser_type | 124 assert 'content-shell' in options.browser_type |
125 options.AppendExtraBrowserArgs(['--expose-internals-for-testing']) | 125 options.AppendExtraBrowserArgs(['--expose-internals-for-testing']) |
126 | 126 |
127 | 127 |
128 class _BlinkPerfPywebsocketMeasurement(_BlinkPerfMeasurement): | |
129 def CustomizeBrowserOptions(self, options): | |
130 super(_BlinkPerfPywebsocketMeasurement, self).CustomizeBrowserOptions( | |
131 options) | |
132 # Cross-origin accesses are needed to run benchmarks spanning two servers, | |
133 # the Telemetry's HTTP server and the pywebsocket server. | |
134 options.AppendExtraBrowserArgs(['--disable-web-security']) | |
135 | |
136 | |
137 class _SharedPywebsocketPageState(shared_page_state.SharedPageState): | 128 class _SharedPywebsocketPageState(shared_page_state.SharedPageState): |
138 """Runs a pywebsocket server.""" | 129 """Runs a pywebsocket server.""" |
139 def __init__(self, test, finder_options, user_story_set): | 130 def __init__(self, test, finder_options, user_story_set): |
140 super(_SharedPywebsocketPageState, self).__init__( | 131 super(_SharedPywebsocketPageState, self).__init__( |
141 test, finder_options, user_story_set) | 132 test, finder_options, user_story_set) |
142 self.platform.StartLocalServer(pywebsocket_server.PywebsocketServer()) | 133 self.platform.StartLocalServer(pywebsocket_server.PywebsocketServer()) |
143 | 134 |
144 | 135 |
145 class BlinkPerfBindings(perf_benchmark.PerfBenchmark): | 136 class BlinkPerfBindings(perf_benchmark.PerfBenchmark): |
146 tag = 'bindings' | 137 tag = 'bindings' |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
334 # Disabled on reference builds due to https://crbug.com/530374 | 325 # Disabled on reference builds due to https://crbug.com/530374 |
335 @benchmark.Disabled('win', 'chromeos', 'reference') | 326 @benchmark.Disabled('win', 'chromeos', 'reference') |
336 class BlinkPerfPywebsocket(perf_benchmark.PerfBenchmark): | 327 class BlinkPerfPywebsocket(perf_benchmark.PerfBenchmark): |
337 ''' | 328 ''' |
338 The blink_perf.pywebsocket tests measure turn-around-time of 10MB | 329 The blink_perf.pywebsocket tests measure turn-around-time of 10MB |
339 send/receive for XHR, Fetch API and WebSocket. | 330 send/receive for XHR, Fetch API and WebSocket. |
340 We might ignore <10% regressions, because the tests are noisy and such | 331 We might ignore <10% regressions, because the tests are noisy and such |
341 regressions are often unreproducible (https://crbug.com/549017). | 332 regressions are often unreproducible (https://crbug.com/549017). |
342 ''' | 333 ''' |
343 tag = 'pywebsocket' | 334 tag = 'pywebsocket' |
344 test = _BlinkPerfPywebsocketMeasurement | 335 test = _BlinkPerfMeasurement |
345 | 336 |
346 @classmethod | 337 @classmethod |
347 def Name(cls): | 338 def Name(cls): |
348 return 'blink_perf.pywebsocket' | 339 return 'blink_perf.pywebsocket' |
349 | 340 |
350 def CreateStorySet(self, options): | 341 def CreateStorySet(self, options): |
351 path = os.path.join(BLINK_PERF_BASE_DIR, 'Pywebsocket') | 342 path = os.path.join(BLINK_PERF_BASE_DIR, 'Pywebsocket') |
352 return CreateStorySetFromPath(path, SKIPPED_FILE, | 343 return CreateStorySetFromPath(path, SKIPPED_FILE, |
353 shared_page_state_class=_SharedPywebsocketPageState) | 344 shared_page_state_class=_SharedPywebsocketPageState) |
354 | 345 |
355 @classmethod | 346 @classmethod |
356 def ShouldDisable(cls, possible_browser): | 347 def ShouldDisable(cls, possible_browser): |
357 return cls.IsSvelte(possible_browser) # http://crbug.com/551950 | 348 return cls.IsSvelte(possible_browser) # http://crbug.com/551950 |
OLD | NEW |