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

Side by Side Diff: telemetry/telemetry/internal/story_runner.py

Issue 2342023005: Outputting chart json for disabled tests. (Closed)
Patch Set: Chaing the right json_output_formatter Created 4 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
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 sys 8 import sys
9 import time 9 import time
10 10
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 273
274 def RunBenchmark(benchmark, finder_options): 274 def RunBenchmark(benchmark, finder_options):
275 """Run this test with the given options. 275 """Run this test with the given options.
276 276
277 Returns: 277 Returns:
278 The number of failure values (up to 254) or 255 if there is an uncaught 278 The number of failure values (up to 254) or 255 if there is an uncaught
279 exception. 279 exception.
280 """ 280 """
281 benchmark.CustomizeBrowserOptions(finder_options.browser_options) 281 benchmark.CustomizeBrowserOptions(finder_options.browser_options)
282 282
283 benchmark_metadata = benchmark.GetMetadata()
283 possible_browser = browser_finder.FindBrowser(finder_options) 284 possible_browser = browser_finder.FindBrowser(finder_options)
284 if possible_browser and benchmark.ShouldDisable(possible_browser): 285 if possible_browser and benchmark.ShouldDisable(possible_browser):
285 logging.warning('%s is disabled on the selected browser', benchmark.Name()) 286 logging.warning('%s is disabled on the selected browser', benchmark.Name())
286 if finder_options.run_disabled_tests: 287 if finder_options.run_disabled_tests:
287 logging.warning( 288 logging.warning(
288 'Running benchmark anyway due to: --also-run-disabled-tests') 289 'Running benchmark anyway due to: --also-run-disabled-tests')
289 else: 290 else:
290 logging.warning( 291 logging.warning(
291 'Try --also-run-disabled-tests to force the benchmark to run.') 292 'Try --also-run-disabled-tests to force the benchmark to run.')
293 # If chartjson is specified, this will print a dict indicating the
294 # benchmark name and disabled state. crrev.com/2265423005 will update
295 # this return value once this logic is plumbed through the recipe.
296 with results_options.CreateResults(benchmark_metadata, finder_options,
297 benchmark.ValueCanBeAddedPredicate) as results:
298 results.PrintDisabledSummary()
292 return 1 299 return 1
293 300
294 pt = benchmark.CreatePageTest(finder_options) 301 pt = benchmark.CreatePageTest(finder_options)
295 pt.__name__ = benchmark.__class__.__name__ 302 pt.__name__ = benchmark.__class__.__name__
296 303
297 disabled_attr_name = decorators.DisabledAttributeName(benchmark) 304 disabled_attr_name = decorators.DisabledAttributeName(benchmark)
298 # pylint: disable=protected-access 305 # pylint: disable=protected-access
299 pt._disabled_strings = getattr(benchmark, disabled_attr_name, set()) 306 pt._disabled_strings = getattr(benchmark, disabled_attr_name, set())
300 if hasattr(benchmark, '_enabled_strings'): 307 if hasattr(benchmark, '_enabled_strings'):
301 # pylint: disable=protected-access 308 # pylint: disable=protected-access
302 pt._enabled_strings = benchmark._enabled_strings 309 pt._enabled_strings = benchmark._enabled_strings
303 310
304 stories = benchmark.CreateStorySet(finder_options) 311 stories = benchmark.CreateStorySet(finder_options)
305 if isinstance(pt, legacy_page_test.LegacyPageTest): 312 if isinstance(pt, legacy_page_test.LegacyPageTest):
306 if any(not isinstance(p, page.Page) for p in stories.stories): 313 if any(not isinstance(p, page.Page) for p in stories.stories):
307 raise Exception( 314 raise Exception(
308 'PageTest must be used with StorySet containing only ' 315 'PageTest must be used with StorySet containing only '
309 'telemetry.page.Page stories.') 316 'telemetry.page.Page stories.')
310 317
311 should_tear_down_state_after_each_story_run = ( 318 should_tear_down_state_after_each_story_run = (
312 benchmark.ShouldTearDownStateAfterEachStoryRun()) 319 benchmark.ShouldTearDownStateAfterEachStoryRun())
313 # HACK: restarting shared state has huge overhead on cros (crbug.com/645329), 320 # HACK: restarting shared state has huge overhead on cros (crbug.com/645329),
314 # hence we default this to False when test is run against CrOS. 321 # hence we default this to False when test is run against CrOS.
315 # TODO(cros-team): figure out ways to remove this hack. 322 # TODO(cros-team): figure out ways to remove this hack.
316 if (possible_browser.platform.GetOSName() == 'chromeos' and 323 if (possible_browser.platform.GetOSName() == 'chromeos' and
317 not benchmark.IsShouldTearDownStateAfterEachStoryRunOverriden()): 324 not benchmark.IsShouldTearDownStateAfterEachStoryRunOverriden()):
318 should_tear_down_state_after_each_story_run = False 325 should_tear_down_state_after_each_story_run = False
319 326
320 benchmark_metadata = benchmark.GetMetadata() 327
321 with results_options.CreateResults( 328 with results_options.CreateResults(
322 benchmark_metadata, finder_options, 329 benchmark_metadata, finder_options,
323 benchmark.ValueCanBeAddedPredicate) as results: 330 benchmark.ValueCanBeAddedPredicate) as results:
324 try: 331 try:
325 Run(pt, stories, finder_options, results, benchmark.max_failures, 332 Run(pt, stories, finder_options, results, benchmark.max_failures,
326 should_tear_down_state_after_each_story_run, 333 should_tear_down_state_after_each_story_run,
327 benchmark.ShouldTearDownStateAfterEachStorySetRun()) 334 benchmark.ShouldTearDownStateAfterEachStorySetRun())
328 return_code = min(254, len(results.failures)) 335 return_code = min(254, len(results.failures))
329 except Exception: 336 except Exception:
330 exception_formatter.PrintFormattedException() 337 exception_formatter.PrintFormattedException()
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 logging.warning('Device is thermally throttled before running ' 426 logging.warning('Device is thermally throttled before running '
420 'performance tests, results will vary.') 427 'performance tests, results will vary.')
421 428
422 429
423 def _CheckThermalThrottling(platform): 430 def _CheckThermalThrottling(platform):
424 if not platform.CanMonitorThermalThrottling(): 431 if not platform.CanMonitorThermalThrottling():
425 return 432 return
426 if platform.HasBeenThermallyThrottled(): 433 if platform.HasBeenThermallyThrottled():
427 logging.warning('Device has been thermally throttled during ' 434 logging.warning('Device has been thermally throttled during '
428 'performance tests, results will vary.') 435 'performance tests, results will vary.')
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698