blob: 58c4d3ee1a80a80ce8e0f7275c3f89d773616fee [file] [log] [blame]
# Copyright (c) 2012 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.
"""Paths to common resources in the Chrome repository."""
import os
_THIS_DIR = os.path.abspath(os.path.dirname(__file__))
def GetSrc():
"""Returns the path to the root src directory."""
return os.path.abspath(os.path.join(_THIS_DIR, os.pardir, os.pardir,
os.pardir))
def GetTestData():
"""Returns the path to the src/chrome/test/data directory."""
return os.path.join(GetSrc(), 'chrome', 'test', 'data')
def GetBuildDir(required_paths):
"""Returns the preferred build directory that contains given paths."""
dirs = ['out', 'build', 'xcodebuild']
rel_dirs = [os.path.join(x, 'Release') for x in dirs]
debug_dirs = [os.path.join(x, 'Debug') for x in dirs]
full_dirs = [os.path.join(GetSrc(), x) for x in rel_dirs + debug_dirs]
for build_dir in full_dirs:
for required_path in required_paths:
if not os.path.exists(os.path.join(build_dir, required_path)):
break
else:
return build_dir
raise RuntimeError('Cannot find build directory containing ' +
', '.join(required_paths))