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

Unified 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: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698