flutter/dev/run_tests
Adam Barth 576795dcc6 Add a CONTRIBUTING.md
This document describes the workflow for contributing code to this repository.
2015-11-08 21:56:20 -08:00

44 lines
1.5 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
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-src-path', 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_src_path), '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())