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

Side by Side Diff: tools/telemetry/telemetry/record_wpr.py

Issue 1244223002: Create classes_util API, change discover to return a list instead of a dict. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 4 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 2012 The Chromium Authors. All rights reserved. 1 # Copyright 2012 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 argparse 5 import argparse
6 import logging 6 import logging
7 import sys 7 import sys
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.core import discover
12 from telemetry.core import util 11 from telemetry.core import util
13 from telemetry.internal.browser import browser_options 12 from telemetry.internal.browser import browser_options
14 from telemetry.internal.results import results_options 13 from telemetry.internal.results import results_options
15 from telemetry.internal import story_runner 14 from telemetry.internal import story_runner
16 from telemetry.internal.util import command_line 15 from telemetry.internal.util import command_line
17 from telemetry.page import page_test 16 from telemetry.page import page_test
17 from telemetry.util import classes_util
18 from telemetry.util import wpr_modes 18 from telemetry.util import wpr_modes
19 19
20 20
21 class RecorderPageTest(page_test.PageTest): 21 class RecorderPageTest(page_test.PageTest):
22 def __init__(self): 22 def __init__(self):
23 super(RecorderPageTest, self).__init__() 23 super(RecorderPageTest, self).__init__()
24 self.page_test = None 24 self.page_test = None
25 25
26 def CustomizeBrowserOptions(self, options): 26 def CustomizeBrowserOptions(self, options):
27 if self.page_test: 27 if self.page_test:
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 64
65 def _GetSubclasses(base_dir, cls): 65 def _GetSubclasses(base_dir, cls):
66 """Returns all subclasses of |cls| in |base_dir|. 66 """Returns all subclasses of |cls| in |base_dir|.
67 67
68 Args: 68 Args:
69 cls: a class 69 cls: a class
70 70
71 Returns: 71 Returns:
72 dict of {underscored_class_name: benchmark class} 72 dict of {underscored_class_name: benchmark class}
73 """ 73 """
74 return discover.DiscoverClasses(base_dir, base_dir, cls, 74 return classes_util.DiscoverClassesByClassName(base_dir, base_dir, cls)
75 index_by_class_name=True)
76 75
77 76
78 def _MaybeGetInstanceOfClass(target, base_dir, cls): 77 def _MaybeGetInstanceOfClass(target, base_dir, cls):
79 if isinstance(target, cls): 78 if isinstance(target, cls):
80 return target 79 return target
81 classes = _GetSubclasses(base_dir, cls) 80 return classes_util.MaybeGetInstanceOfClass(target, base_dir, base_dir, cls)
82 return classes[target]() if target in classes else None
83 81
84 82
85 def _PrintAllImpl(all_items, item_name, output_stream): 83 def _PrintAllImpl(all_items, item_name, output_stream):
86 output_stream.write('Available %s\' names with descriptions:\n' % item_name) 84 output_stream.write('Available %s\' names with descriptions:\n' % item_name)
87 keys = sorted(all_items.keys()) 85 keys = sorted(all_items.keys())
88 key_description = [(k, all_items[k].Description()) for k in keys] 86 key_description = [(k, all_items[k].Description()) for k in keys]
89 _PrintPairs(key_description, output_stream) 87 _PrintPairs(key_description, output_stream)
90 output_stream.write('\n') 88 output_stream.write('\n')
91 89
92 90
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 return 0 262 return 0
265 263
266 # TODO(nednguyen): update WprRecorder so that it handles the difference 264 # TODO(nednguyen): update WprRecorder so that it handles the difference
267 # between recording a benchmark vs recording a story better based on 265 # between recording a benchmark vs recording a story better based on
268 # the distinction between args.benchmark & args.story 266 # the distinction between args.benchmark & args.story
269 wpr_recorder = WprRecorder(base_dir, target, extra_args) 267 wpr_recorder = WprRecorder(base_dir, target, extra_args)
270 results = wpr_recorder.CreateResults() 268 results = wpr_recorder.CreateResults()
271 wpr_recorder.Record(results) 269 wpr_recorder.Record(results)
272 wpr_recorder.HandleResults(results, args.upload) 270 wpr_recorder.HandleResults(results, args.upload)
273 return min(255, len(results.failures)) 271 return min(255, len(results.failures))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698