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

Unified Diff: tools/telemetry/telemetry/multi_page_benchmark_runner.py

Issue 11273081: Adding a test for measuring memory usage. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code review (tonyg, nduca) Created 8 years, 1 month 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/multi_page_benchmark_runner.py
diff --git a/tools/telemetry/telemetry/multi_page_benchmark_runner.py b/tools/telemetry/telemetry/multi_page_benchmark_runner.py
index 48837eecd6f1c2eb38b596f1e1850a729602bb37..89fc5e5c1b8f6bbdb37ff0d2bcdee282eac69b96 100755
--- a/tools/telemetry/telemetry/multi_page_benchmark_runner.py
+++ b/tools/telemetry/telemetry/multi_page_benchmark_runner.py
@@ -3,59 +3,26 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import csv
-import inspect
import logging
import os
import sys
-import traceback
+from telemetry import all_page_interactions # pylint: disable=W0611
from telemetry import browser_finder
from telemetry import browser_options
+from telemetry import discover
from telemetry import multi_page_benchmark
from telemetry import page_runner
from telemetry import page_set
-
-def _Discover(start_dir, clazz):
- """Discover all classes in |start_dir| which subclass |clazz|.
-
- Args:
- start_dir: The directory to recursively search.
- clazz: The base class to search for.
-
- Returns:
- dict of {module_name: class}.
- """
- top_level_dir = os.path.join(start_dir, '..')
- classes = {}
- for dirpath, _, filenames in os.walk(start_dir):
- for filename in filenames:
- if not filename.endswith('.py'):
- continue
- name, _ = os.path.splitext(filename)
- relpath = os.path.relpath(dirpath, top_level_dir)
- fqn = relpath.replace('/', '.') + '.' + name
- try:
- module = __import__(fqn, fromlist=[True])
- except Exception:
- logging.error('While importing [%s]\n' % fqn)
- traceback.print_exc()
- continue
- for name, obj in inspect.getmembers(module):
- if inspect.isclass(obj):
- if clazz in inspect.getmro(obj):
- name = module.__name__.split('.')[-1]
- classes[name] = obj
- return classes
-
-
def Main(benchmark_dir):
"""Turns a MultiPageBenchmark into a command-line program.
Args:
benchmark_dir: Path to directory containing MultiPageBenchmarks.
"""
- benchmarks = _Discover(benchmark_dir, multi_page_benchmark.MultiPageBenchmark)
+ benchmarks = discover.Discover(benchmark_dir, '',
+ multi_page_benchmark.MultiPageBenchmark)
# Naively find the benchmark. If we use the browser options parser, we run
# the risk of failing to parse if we use a benchmark-specific parameter.
@@ -70,7 +37,7 @@ def Main(benchmark_dir):
benchmark = None
if benchmark_name is not None:
benchmark = benchmarks[benchmark_name]()
- benchmark.AddOptions(parser)
+ benchmark.AddCommandLineOptions(parser)
_, args = parser.parse_args()
@@ -103,4 +70,8 @@ Use --browser=list to figure out which are available.\n"""
if len(results.page_failures):
logging.warning('Failed pages: %s', '\n'.join(
[failure['page'].url for failure in results.page_failures]))
+
+ if len(results.skipped_pages):
+ logging.warning('Skipped pages: %s', '\n'.join(
+ [skipped['page'].url for skipped in results.skipped_pages]))
return min(255, len(results.page_failures))
« no previous file with comments | « tools/telemetry/telemetry/multi_page_benchmark.py ('k') | tools/telemetry/telemetry/multi_page_benchmark_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698