| Index: tools/telemetry/telemetry/core/discover.py
|
| diff --git a/tools/telemetry/telemetry/core/discover.py b/tools/telemetry/telemetry/core/discover.py
|
| index 88f22bd8349fdb109653c83d78712d375b6f977b..78c33cdaa80f73f606ccc35c019d45edcc63d9f0 100644
|
| --- a/tools/telemetry/telemetry/core/discover.py
|
| +++ b/tools/telemetry/telemetry/core/discover.py
|
| @@ -9,6 +9,7 @@ import re
|
|
|
| from telemetry import decorators
|
| from telemetry.core import camel_case
|
| +from telemetry.core import util
|
|
|
|
|
| @decorators.Cache
|
| @@ -95,12 +96,31 @@ def DiscoverClasses(start_dir, top_level_dir, base_class, pattern='*',
|
|
|
| return classes
|
|
|
| +_counter = [0]
|
| +def _GetUniqueModuleName():
|
| + _counter[0] += 1
|
| + return "module_" + str(_counter[0])
|
| +
|
| +def IsPageSetFile(file_path):
|
| + root_name, ext_name = os.path.splitext(file_path)
|
| + if ext_name == '.json':
|
| + return True
|
| + elif ext_name != '.py':
|
| + return False
|
| + if 'unittest' in root_name or root_name in ('PRESUBMIT', '__init__'):
|
| + return False
|
| + module = util.GetPythonPageSetModule(file_path)
|
| + for class_name in dir(module):
|
| + if class_name.endswith('PageSet') and class_name != 'PageSet':
|
| + return True
|
| + return False
|
| +
|
| def GetAllPageSetFilenames(dir_path):
|
| results = []
|
| start_dir = os.path.dirname(dir_path)
|
| for dirpath, _, filenames in os.walk(start_dir):
|
| for f in filenames:
|
| - if os.path.splitext(f)[1] != '.json':
|
| + if not IsPageSetFile(filenames):
|
| continue
|
| filename = os.path.join(dirpath, f)
|
| results.append(filename)
|
|
|