#!/usr/bin/env python # Copyright 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 import subprocess import argparse SKY_TOOLS_DIR = os.path.dirname(os.path.abspath(__file__)) SKY_ROOT = os.path.dirname(SKY_TOOLS_DIR) SRC_ROOT = os.path.dirname(SKY_ROOT) DART_SDK = os.path.join(SRC_ROOT, 'third_party', 'dart-sdk', 'dart-sdk', 'bin') PUB = os.path.join(DART_SDK, 'pub') PUB_CACHE = os.path.join(SRC_ROOT, 'dart-pub-cache') UNIT_DIR = os.path.join(SRC_ROOT, 'sky', 'unit') PACKAGES_DIR = os.path.join(UNIT_DIR, 'packages') def main(): parser = argparse.ArgumentParser(description='Runs Sky tests') parser.add_argument('--config', default='Debug') parser.add_argument('--debug', dest='config', action='store_const', const='Debug') parser.add_argument('--release', dest='config', action='store_const', const='Release') args, remaining = parser.parse_known_args() build_dir = os.path.join(SRC_ROOT, 'out', args.config) sky_shell = None if sys.platform == 'linux2': sky_shell = os.path.join(build_dir, 'sky_shell') elif sys.platform == 'darwin': sky_shell = os.path.join(build_dir, 'SkyShell.app', 'Contents', 'MacOS', 'SkyShell') env = os.environ.copy() env['PUB_CACHE'] = PUB_CACHE env['SKY_SHELL'] = sky_shell return subprocess.call([ PUB, 'run', 'sky_tools:sky_test', ] + remaining, cwd=UNIT_DIR, env=env) if __name__ == '__main__': sys.exit(main())