Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(964)

Side by Side Diff: tools/telemetry/telemetry/page/page_runner.py

Issue 650253002: [Telemetry] Remove logic that handles case test=None in page_runner.py (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix stray diff Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 logging 5 import logging
6 import optparse 6 import optparse
7 import os 7 import os
8 import random 8 import random
9 import sys 9 import sys
10 import tempfile 10 import tempfile
11 import time 11 import time
12 12
13 from telemetry import decorators 13 from telemetry import decorators
14 from telemetry.core import browser_finder 14 from telemetry.core import browser_finder
15 from telemetry.core import browser_info 15 from telemetry.core import browser_info
16 from telemetry.core import exceptions 16 from telemetry.core import exceptions
17 from telemetry.core import util 17 from telemetry.core import util
18 from telemetry.core import wpr_modes 18 from telemetry.core import wpr_modes
19 from telemetry.core.platform.profiler import profiler_finder 19 from telemetry.core.platform.profiler import profiler_finder
20 from telemetry.page import page_filter 20 from telemetry.page import page_filter
21 from telemetry.page import page_test 21 from telemetry.page import page_test
22 from telemetry.page.actions import navigate
23 from telemetry.page.actions import page_action 22 from telemetry.page.actions import page_action
24 from telemetry.results import results_options 23 from telemetry.results import results_options
25 from telemetry.util import cloud_storage 24 from telemetry.util import cloud_storage
26 from telemetry.util import exception_formatter 25 from telemetry.util import exception_formatter
27 from telemetry.value import failure 26 from telemetry.value import failure
28 from telemetry.value import skip 27 from telemetry.value import skip
29 28
30 29
31 class _RunState(object): 30 class _RunState(object):
32 def __init__(self): 31 def __init__(self):
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 if is_repeating: 132 if is_repeating:
134 output_file = util.GetSequentialFileName(output_file) 133 output_file = util.GetSequentialFileName(output_file)
135 self.browser.platform.profiling_controller.Start( 134 self.browser.platform.profiling_controller.Start(
136 finder_options.profiler, output_file) 135 finder_options.profiler, output_file)
137 136
138 def StopProfiling(self): 137 def StopProfiling(self):
139 if self.browser: 138 if self.browser:
140 self.browser.platform.profiling_controller.Stop() 139 self.browser.platform.profiling_controller.Stop()
141 140
142 141
143 class PageState(object): 142 class _PageState(object):
144 def __init__(self, page, tab): 143 def __init__(self, page, tab):
145 self.page = page 144 self.page = page
146 self.tab = tab 145 self.tab = tab
147 146
148 self._did_login = False 147 self._did_login = False
149 148
150 def PreparePage(self, test=None): 149 def PreparePage(self, test):
151 if self.page.is_file: 150 if self.page.is_file:
152 self.tab.browser.SetHTTPServerDirectories( 151 self.tab.browser.SetHTTPServerDirectories(
153 self.page.page_set.serving_dirs | set([self.page.serving_dir])) 152 self.page.page_set.serving_dirs | set([self.page.serving_dir]))
154 153
155 if self.page.credentials: 154 if self.page.credentials:
156 if not self.tab.browser.credentials.LoginNeeded( 155 if not self.tab.browser.credentials.LoginNeeded(
157 self.tab, self.page.credentials): 156 self.tab, self.page.credentials):
158 raise page_test.Failure('Login as ' + self.page.credentials + ' failed') 157 raise page_test.Failure('Login as ' + self.page.credentials + ' failed')
159 self._did_login = True 158 self._did_login = True
160 159
161 if test: 160 if test.clear_cache_before_each_run:
162 if test.clear_cache_before_each_run: 161 self.tab.ClearCache(force=True)
163 self.tab.ClearCache(force=True)
164 162
165 def ImplicitPageNavigation(self, test=None): 163 def ImplicitPageNavigation(self, test):
166 """Executes the implicit navigation that occurs for every page iteration. 164 """Executes the implicit navigation that occurs for every page iteration.
167 165
168 This function will be called once per page before any actions are executed. 166 This function will be called once per page before any actions are executed.
169 """ 167 """
170 if test: 168 test.WillNavigateToPage(self.page, self.tab)
171 test.WillNavigateToPage(self.page, self.tab) 169 test.RunNavigateSteps(self.page, self.tab)
172 test.RunNavigateSteps(self.page, self.tab) 170 test.DidNavigateToPage(self.page, self.tab)
173 test.DidNavigateToPage(self.page, self.tab)
174 else:
175 i = navigate.NavigateAction()
176 i.RunAction(self.page, self.tab, None)
177 171
178 def CleanUpPage(self, test): 172 def CleanUpPage(self, test):
179 test.CleanUpAfterPage(self.page, self.tab) 173 test.CleanUpAfterPage(self.page, self.tab)
180 if self.page.credentials and self._did_login: 174 if self.page.credentials and self._did_login:
181 self.tab.browser.credentials.LoginNoLongerNeeded( 175 self.tab.browser.credentials.LoginNoLongerNeeded(
182 self.tab, self.page.credentials) 176 self.tab, self.page.credentials)
183 177
184 178
185 def AddCommandLineArgs(parser): 179 def AddCommandLineArgs(parser):
186 page_filter.PageFilter.AddCommandLineArgs(parser) 180 page_filter.PageFilter.AddCommandLineArgs(parser)
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 results.DidRunPage(page) 457 results.DidRunPage(page)
464 return valid_pages 458 return valid_pages
465 459
466 460
467 def _RunPage(test, page, state, expectation, results): 461 def _RunPage(test, page, state, expectation, results):
468 if expectation == 'skip': 462 if expectation == 'skip':
469 logging.debug('Skipping test: Skip expectation for %s', page.url) 463 logging.debug('Skipping test: Skip expectation for %s', page.url)
470 results.AddValue(skip.SkipValue(page, 'Skipped by test expectations')) 464 results.AddValue(skip.SkipValue(page, 'Skipped by test expectations'))
471 return 465 return
472 466
473 page_state = PageState(page, test.TabForPage(page, state.browser)) 467 page_state = _PageState(page, test.TabForPage(page, state.browser))
474 468
475 def ProcessError(): 469 def ProcessError():
476 if expectation == 'fail': 470 if expectation == 'fail':
477 msg = 'Expected exception while running %s' % page.url 471 msg = 'Expected exception while running %s' % page.url
478 else: 472 else:
479 msg = 'Exception while running %s' % page.url 473 msg = 'Exception while running %s' % page.url
480 results.AddValue(failure.FailureValue(page, sys.exc_info())) 474 results.AddValue(failure.FailureValue(page, sys.exc_info()))
481 exception_formatter.PrintFormattedException(msg=msg) 475 exception_formatter.PrintFormattedException(msg=msg)
482 476
483 try: 477 try:
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 logging.warning('Device is thermally throttled before running ' 524 logging.warning('Device is thermally throttled before running '
531 'performance tests, results will vary.') 525 'performance tests, results will vary.')
532 526
533 527
534 def _CheckThermalThrottling(platform): 528 def _CheckThermalThrottling(platform):
535 if not platform.CanMonitorThermalThrottling(): 529 if not platform.CanMonitorThermalThrottling():
536 return 530 return
537 if platform.HasBeenThermallyThrottled(): 531 if platform.HasBeenThermallyThrottled():
538 logging.warning('Device has been thermally throttled during ' 532 logging.warning('Device has been thermally throttled during '
539 'performance tests, results will vary.') 533 'performance tests, results will vary.')
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698