Add dev/run_tests
This script runs the Flutter unit tests. By default, the script assumes you have compiled a SkyShell in an "engine/src" that's a peer to the "flutter" directory.
This commit is contained in:
parent
08539b4e4d
commit
2ed113430a
43
dev/run_tests
Executable file
43
dev/run_tests
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/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
|
||||||
|
|
||||||
|
FLUTTER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
FLUTTER = os.path.join(FLUTTER_ROOT, 'bin', 'flutter')
|
||||||
|
|
||||||
|
UNIT_DIR = os.path.join(FLUTTER_ROOT, 'packages', 'unit')
|
||||||
|
TESTS_DIR = os.path.join(UNIT_DIR, 'test')
|
||||||
|
DEFAULT_ENGINE_DIR = os.path.abspath(os.path.join(FLUTTER_ROOT, '..', 'engine', 'src'))
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description='Runs Flutter unit tests')
|
||||||
|
parser.add_argument('--engine-dir', default=DEFAULT_ENGINE_DIR)
|
||||||
|
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(os.path.abspath(args.engine_dir), 'out', args.config)
|
||||||
|
|
||||||
|
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"))
|
||||||
|
|
||||||
|
if os.environ['TERM'] == 'dumb':
|
||||||
|
remaining = [ '--no-color' ] + remaining
|
||||||
|
|
||||||
|
return subprocess.call([
|
||||||
|
FLUTTER,
|
||||||
|
'test',
|
||||||
|
'--build-dir=%s' % build_dir
|
||||||
|
] + remaining, cwd=UNIT_DIR)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main())
|
@ -6,6 +6,8 @@
|
|||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
|
FLUTTER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
|
||||||
def update(directory):
|
def update(directory):
|
||||||
packages = sorted(os.listdir(directory))
|
packages = sorted(os.listdir(directory))
|
||||||
for package in packages:
|
for package in packages:
|
||||||
@ -14,6 +16,5 @@ def update(directory):
|
|||||||
print 'Updating', package, '...'
|
print 'Updating', package, '...'
|
||||||
subprocess.check_call(['pub', 'get'], cwd=package_dir)
|
subprocess.check_call(['pub', 'get'], cwd=package_dir)
|
||||||
|
|
||||||
FLUTTER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
||||||
update(os.path.join(FLUTTER_ROOT, 'packages'))
|
update(os.path.join(FLUTTER_ROOT, 'packages'))
|
||||||
update(os.path.join(FLUTTER_ROOT, 'examples'))
|
update(os.path.join(FLUTTER_ROOT, 'examples'))
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
// 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 'package:sky_tools/executable.dart' as executable;
|
|
||||||
|
|
||||||
main(List<String> args) => executable.main(args);
|
|
@ -19,7 +19,7 @@ class TestCommand extends FlutterCommand {
|
|||||||
final String description = 'Runs Flutter unit tests for the current project (requires a local build of the engine).';
|
final String description = 'Runs Flutter unit tests for the current project (requires a local build of the engine).';
|
||||||
|
|
||||||
TestCommand() {
|
TestCommand() {
|
||||||
argParser.addOption('build-dir', defaultsTo: '../../../engine/src/out/Debug');
|
argParser.addOption('build-dir', help: 'The directory in which to find a prebuilt engine');
|
||||||
}
|
}
|
||||||
|
|
||||||
String get _shellPath {
|
String get _shellPath {
|
||||||
|
@ -6,3 +6,5 @@ dependencies:
|
|||||||
path: ../flx
|
path: ../flx
|
||||||
flutter:
|
flutter:
|
||||||
path: ../flutter
|
path: ../flutter
|
||||||
|
sky_tools:
|
||||||
|
path: ../flutter_tools
|
||||||
|
Loading…
x
Reference in New Issue
Block a user