mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Enumerate the tests in run_tests rather than test:test since test:test tries to walk symbolic links and that takes a long time. Turn off color if TERM is 'dumb'. Enable checked mode for the test harness, to help catch bugs in the harness itself.
53 lines
1.8 KiB
Python
Executable File
53 lines
1.8 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')
|
|
|
|
UNIT_DIR = os.path.join(SRC_ROOT, 'sky', 'unit')
|
|
PACKAGES_DIR = os.path.join(UNIT_DIR, 'packages')
|
|
TESTS_DIR = os.path.join(UNIT_DIR, 'test')
|
|
|
|
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')
|
|
|
|
if not remaining:
|
|
for root, dirs, files in os.walk(TESTS_DIR):
|
|
remaining.extend(os.path.join(root, f)
|
|
for f in files if f.endswith("_test.dart"))
|
|
|
|
env = os.environ.copy()
|
|
env['SKY_SHELL'] = sky_shell
|
|
if env['TERM'] == 'dumb':
|
|
remaining = [ '--no-color' ] + remaining
|
|
|
|
return subprocess.call([
|
|
PUB, 'run', '--checked', 'sky_tools:sky_test',
|
|
] + remaining, cwd=UNIT_DIR, env=env)
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|