| Index: examples/dart/example_tests.py
|
| diff --git a/examples/dart/example_tests.py b/examples/dart/example_tests.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..40390544b5810c509d86ae79a74d4f61e2e49762
|
| --- /dev/null
|
| +++ b/examples/dart/example_tests.py
|
| @@ -0,0 +1,59 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2016 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.
|
| +
|
| +"""Runs Dart example tests"""
|
| +
|
| +# This script runs tests of example Dart Mojo apps.
|
| +# It looks for files named *_test.dart under subdirectories of
|
| +# //examples/dart in the EXAMPLES list, below. These tests are
|
| +# passed a command line argument --mojo-shell /path/to/mojo_shell that they
|
| +# can use to run the example.
|
| +
|
| +import argparse
|
| +import os
|
| +import subprocess
|
| +import sys
|
| +
|
| +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
|
| +SRC_DIR = os.path.dirname(os.path.dirname(SCRIPT_DIR))
|
| +
|
| +DART_SDK = os.path.join(SRC_DIR, 'third_party', 'dart-sdk', 'dart-sdk', 'bin')
|
| +DART = os.path.join(DART_SDK, 'dart')
|
| +
|
| +# Add subdirectories of //examples/dart here.
|
| +EXAMPLES = ['hello_world', 'wget']
|
| +
|
| +def FindTests(example):
|
| + tests = []
|
| + for root, _, files in os.walk(os.path.join(SCRIPT_DIR, example)):
|
| + for f in files:
|
| + if f.endswith('_test.dart'):
|
| + tests.append(os.path.join(root, f))
|
| + return tests
|
| +
|
| +def RunTests(tests, build_dir, package_root):
|
| + for test in tests:
|
| + test_path = os.path.join(SCRIPT_DIR, test)
|
| + subprocess.check_call(
|
| + [DART, '-p', package_root, '--checked', test_path,
|
| + '--mojo-shell', os.path.join(build_dir, 'mojo_shell'),])
|
| +
|
| +def main(build_dir, package_root):
|
| + for example in EXAMPLES:
|
| + tests = FindTests(example)
|
| + RunTests(tests, build_dir, package_root)
|
| +
|
| +if __name__ == '__main__':
|
| + parser = argparse.ArgumentParser(description="Run Dart example tests")
|
| + parser.add_argument('-b', '--build-dir',
|
| + dest='build_dir',
|
| + metavar='<build-directory>',
|
| + type=str,
|
| + required=True,
|
| + help='The build output directory. E.g. out/Debug')
|
| + args = parser.parse_args()
|
| + package_root = os.path.join(
|
| + SRC_DIR, args.build_dir, 'gen', 'dart-pkg', 'packages')
|
| + sys.exit(main(args.build_dir, package_root))
|
|
|