# 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))