summaryrefslogtreecommitdiffstats
path: root/tools/perf/core
diff options
context:
space:
mode:
authoraiolos <aiolos@chromium.org>2015-10-08 09:01:21 -0700
committerCommit bot <commit-bot@chromium.org>2015-10-08 16:02:07 +0000
commit7daa4777aa977c35712e5f7515e9d3a200bf8f06 (patch)
tree8d6f685a10aad4f2714afffaf9f63a190c952eb0 /tools/perf/core
parenta14c36d62577120c12b1fc983b5e8da1315fa0f0 (diff)
downloadchromium_src-7daa4777aa977c35712e5f7515e9d3a200bf8f06.zip
chromium_src-7daa4777aa977c35712e5f7515e9d3a200bf8f06.tar.gz
chromium_src-7daa4777aa977c35712e5f7515e9d3a200bf8f06.tar.bz2
Create ChromiumConfig subclass of ProjectConfig.
BUG=540056 Review URL: https://codereview.chromium.org/1391883003 Cr-Commit-Position: refs/heads/master@{#353068}
Diffstat (limited to 'tools/perf/core')
-rw-r--r--tools/perf/core/chromium_config.py38
-rw-r--r--tools/perf/core/path_util.py19
-rw-r--r--tools/perf/core/project_config.py25
3 files changed, 52 insertions, 30 deletions
diff --git a/tools/perf/core/chromium_config.py b/tools/perf/core/chromium_config.py
new file mode 100644
index 0000000..f7848c3
--- /dev/null
+++ b/tools/perf/core/chromium_config.py
@@ -0,0 +1,38 @@
+# Copyright (c) 2015 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 logging
+import os
+import sys
+
+from core import path_util
+
+sys.path.append(path_util.GetTelemetryDir())
+from telemetry import project_config
+
+
+CLIENT_CONFIG_PATH = os.path.join(
+ path_util.GetPerfDir(), 'core', 'binary_dependencies.json')
+
+
+class ChromiumConfig(project_config.ProjectConfig):
+ def __init__(self, top_level_dir=None, benchmark_dirs=None,
+ client_config=CLIENT_CONFIG_PATH,
+ chromium_src_dir=path_util.GetChromiumSrcDir()):
+
+ if not benchmark_dirs:
+ benchmark_dirs = [path_util.GetPerfBenchmarksDir()]
+ logging.info('No benchmark directories specified. Defaulting to %s',
+ benchmark_dirs)
+ if not top_level_dir:
+ top_level_dir = path_util.GetPerfDir()
+ logging.info('No top level directory specified. Defaulting to %s',
+ top_level_dir)
+
+ super(ChromiumConfig, self).__init__(
+ top_level_dir=top_level_dir, benchmark_dirs=benchmark_dirs,
+ client_config=client_config)
+
+ self._chromium_src_dir = chromium_src_dir
+
diff --git a/tools/perf/core/path_util.py b/tools/perf/core/path_util.py
index 3050c98..ee84e5c 100644
--- a/tools/perf/core/path_util.py
+++ b/tools/perf/core/path_util.py
@@ -6,9 +6,18 @@ import os
def GetChromiumSrcDir():
- return os.path.abspath(os.path.join(
- os.path.dirname(__file__), os.pardir, os.pardir, os.pardir))
+ return os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(
+ os.path.abspath(__file__)))))
+
+def GetTelemetryDir():
+ return os.path.join(GetChromiumSrcDir(), 'tools', 'telemetry')
+
+def GetPerfDir():
+ return os.path.join(GetChromiumSrcDir(), 'tools', 'perf')
+
+def GetPerfStorySetsDir():
+ return os.path.join(GetPerfDir(), 'page_sets')
+
+def GetPerfBenchmarksDir():
+ return os.path.join(GetPerfDir(), 'benchmarks')
-def GetStorySetsDir():
- return os.path.abspath(os.path.join(
- os.path.dirname(__file__), os.pardir , 'page_sets'))
diff --git a/tools/perf/core/project_config.py b/tools/perf/core/project_config.py
deleted file mode 100644
index c4bd4a3..0000000
--- a/tools/perf/core/project_config.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (c) 2015 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 os
-import sys
-
-
-THIS_DIR = os.path.dirname(os.path.abspath(__file__))
-TOP_LEVEL_DIR = os.path.dirname(THIS_DIR)
-TELEMETRY_DIR = os.path.normpath(os.path.join(
- TOP_LEVEL_DIR, os.pardir, 'telemetry'))
-
-sys.path.append(TELEMETRY_DIR)
-from telemetry import benchmark_runner
-
-binary_dependencies_file = os.path.join(THIS_DIR, 'binary_dependencies.json')
-
-config = benchmark_runner.ProjectConfig(
- top_level_dir=TOP_LEVEL_DIR,
- benchmark_dirs=[os.path.join(TOP_LEVEL_DIR, 'benchmarks')],
- client_config=binary_dependencies_file)
-
-config.telemetry_dir = TELEMETRY_DIR
-