Index: tools/perf/page_sets/__init__.py |
diff --git a/tools/perf/page_sets/__init__.py b/tools/perf/page_sets/__init__.py |
index efcc9c35d2400dba3428197c75b08b1bb64b1b81..36a23b43274917573f2ba939d7e0eeffdddd5422 100644 |
--- a/tools/perf/page_sets/__init__.py |
+++ b/tools/perf/page_sets/__init__.py |
@@ -1,3 +1,19 @@ |
-# Copyright 2012 The Chromium Authors. All rights reserved. |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
+ |
+import inspect |
+import os |
+import sys |
+ |
+from telemetry.core import discover |
+from telemetry.page import page_set |
+ |
+ |
+# Import all submodules' PageSet classes. |
+start_dir = os.path.dirname(os.path.abspath(__file__)) |
+top_level_dir = os.path.dirname(start_dir) |
+base_class = page_set.PageSet |
+for cls in discover.DiscoverClasses( |
+ start_dir, top_level_dir, base_class).values(): |
+ setattr(sys.modules[__name__], cls.__name__, cls) |