# Copyright 2015 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
# pylint: disable=wrong-import-position
from core import path_util
CLIENT_CONFIG_PATH = os.path.join(
os.path.dirname(os.path.abspath(__file__)), 'binary_dependencies.json')
with path_util.SysPath(path_util.GetTelemetryDir()):
from telemetry import project_config
with path_util.SysPath(path_util.GetVariationsDir()):
import fieldtrial_util # pylint: disable=import-error
with path_util.SysPath(path_util.GetAndroidPylibDir()):
from pylib.constants import host_paths
class ChromiumConfig(project_config.ProjectConfig):
def __init__(self, top_level_dir=None, benchmark_dirs=None,
client_configs=None, default_chrome_root=None,
expectations_files=None):
if client_configs is None:
client_configs = [CLIENT_CONFIG_PATH]
if default_chrome_root is None:
default_chrome_root = path_util.GetChromiumSrcDir()
# Some android utilities in Catapult expect a java binary available on PATH,
# so place chromium's heremetic JDK on PATH if we have it checked out.
if os.path.exists(host_paths.JAVA_PATH):
os.environ['PATH'] = (host_paths.JAVA_PATH + os.pathsep +
os.environ['PATH'])
super(ChromiumConfig, self).__init__(
top_level_dir=top_level_dir, benchmark_dirs=benchmark_dirs,
client_configs=client_configs, default_chrome_root=default_chrome_root,
expectations_files=expectations_files)
def AdjustStartupFlags(self, args):
return fieldtrial_util.MergeFeaturesAndFieldTrialsArgs(args)
def GetDefaultChromiumConfig():
return ChromiumConfig(
benchmark_dirs=[path_util.GetOfficialBenchmarksDir(),
path_util.GetContribDir()],
top_level_dir=path_util.GetPerfDir(),
expectations_files=[path_util.GetExpectationsPath()])