mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Most of this work in this patch is building out the test framework to the point where we can write this test.
54 lines
1.7 KiB
Python
Executable File
54 lines
1.7 KiB
Python
Executable File
#!/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')
|
|
parser.add_argument('--only', help='Run only the specified test')
|
|
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')
|
|
|
|
if args.only:
|
|
return subprocess.call([
|
|
sky_shell,
|
|
'--package-root=%s' % PACKAGES_DIR,
|
|
args.only,
|
|
])
|
|
|
|
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())
|