| Index: tools/telemetry/telemetry/record_wpr.py
|
| diff --git a/tools/telemetry/telemetry/record_wpr.py b/tools/telemetry/telemetry/record_wpr.py
|
| index 12ea3d18f8623b65e0d4c1aeefe90a4aee9f6a8b..16cd609be6e79675f06f37ba31a5dbabf5e9db73 100644
|
| --- a/tools/telemetry/telemetry/record_wpr.py
|
| +++ b/tools/telemetry/telemetry/record_wpr.py
|
| @@ -8,12 +8,12 @@ import sys
|
|
|
| from telemetry import benchmark
|
| from telemetry import story
|
| -from telemetry.core import discover
|
| from telemetry.core import util
|
| from telemetry.internal.browser import browser_options
|
| from telemetry.internal.results import results_options
|
| from telemetry.internal import story_runner
|
| from telemetry.page import page_test
|
| +from telemetry.util import classes_util
|
| from telemetry.util import wpr_modes
|
|
|
|
|
| @@ -60,30 +60,17 @@ class RecorderPageTest(page_test.PageTest):
|
| else:
|
| super(RecorderPageTest, self).RunNavigateSteps(page, tab)
|
|
|
| -
|
| -def _GetSubclasses(base_dir, cls):
|
| - """ Return all subclasses of |cls| in |base_dir|.
|
| - Args:
|
| - cls: a class
|
| - Returns:
|
| -
|
| - """
|
| - return discover.DiscoverClasses(base_dir, base_dir, cls,
|
| - index_by_class_name=True)
|
| -
|
| -
|
| def _MaybeGetInstanceOfClass(target, base_dir, cls):
|
| if isinstance(target, cls):
|
| return target
|
| - classes = _GetSubclasses(base_dir, cls)
|
| - return classes[target]() if target in classes else None
|
| -
|
| + return classes_util.MaybeGetInstanceOfClass(target, base_dir, base_dir, cls)
|
|
|
| def _PrintAllBenchmarks(base_dir, output_stream):
|
| # TODO: reuse the logic of finding supported benchmarks in benchmark_runner.py
|
| # so this only prints out benchmarks that are supported by the recording
|
| # platform.
|
| - classes = _GetSubclasses(base_dir, benchmark.Benchmark)
|
| + classes = classes_util.DiscoverClassesByClassName(
|
| + base_dir, base_dir, benchmark.Benchmark)
|
| output_stream.write('Available benchmarks\' names:\n\n')
|
| for k in classes:
|
| output_stream.write('%s\n' % k)
|
| @@ -93,7 +80,8 @@ def _PrintAllUserStories(base_dir, output_stream):
|
| output_stream.write('Available page sets\' names:\n\n')
|
| # TODO: actually print all stories once record_wpr support general
|
| # stories recording.
|
| - classes = _GetSubclasses(base_dir, story.StorySet)
|
| + classes = classes_util.DiscoverClassesByClassName(
|
| + base_dir, base_dir, story.StorySet)
|
| for k in classes:
|
| output_stream.write('%s\n' % k)
|
|
|
| @@ -104,8 +92,8 @@ class WprRecorder(object):
|
| self._record_page_test = RecorderPageTest()
|
| self._options = self._CreateOptions()
|
|
|
| - self._benchmark = _MaybeGetInstanceOfClass(target, base_dir,
|
| - benchmark.Benchmark)
|
| + self._benchmark = _MaybeGetInstanceOfClass(
|
| + target, base_dir, benchmark.Benchmark)
|
| self._parser = self._options.CreateParser(usage='See %prog --help')
|
| self._AddCommandLineArgs()
|
| self._ParseArgs(args)
|
|
|