| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # | 2 # |
| 3 # Copyright 2013 The Chromium Authors. All rights reserved. | 3 # Copyright 2013 The Chromium Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 """Runs all types of tests from one unified interface.""" | 7 """Runs all types of tests from one unified interface.""" |
| 8 | 8 |
| 9 import argparse | 9 import argparse |
| 10 import collections | 10 import collections |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 java_or_python_group.add_argument( | 286 java_or_python_group.add_argument( |
| 287 '-p', '--python-only', action='store_false', | 287 '-p', '--python-only', action='store_false', |
| 288 dest='run_java_tests', default=True, | 288 dest='run_java_tests', default=True, |
| 289 help='Run only the host-driven tests.') | 289 help='Run only the host-driven tests.') |
| 290 | 290 |
| 291 group.add_argument('--host-driven-root', | 291 group.add_argument('--host-driven-root', |
| 292 help='Root of the host-driven tests.') | 292 help='Root of the host-driven tests.') |
| 293 group.add_argument('-w', '--wait_debugger', dest='wait_for_debugger', | 293 group.add_argument('-w', '--wait_debugger', dest='wait_for_debugger', |
| 294 action='store_true', | 294 action='store_true', |
| 295 help='Wait for debugger.') | 295 help='Wait for debugger.') |
| 296 group.add_argument('--apk-under-test', dest='apk_under_test', |
| 297 help=('the name of the apk under test.')) |
| 296 group.add_argument('--test-apk', dest='test_apk', required=True, | 298 group.add_argument('--test-apk', dest='test_apk', required=True, |
| 297 help=('The name of the apk containing the tests ' | 299 help=('The name of the apk containing the tests ' |
| 298 '(without the .apk extension; ' | 300 '(without the .apk extension; ' |
| 299 'e.g. "ContentShellTest").')) | 301 'e.g. "ContentShellTest").')) |
| 300 group.add_argument('--coverage-dir', | 302 group.add_argument('--coverage-dir', |
| 301 help=('Directory in which to place all generated ' | 303 help=('Directory in which to place all generated ' |
| 302 'EMMA coverage files.')) | 304 'EMMA coverage files.')) |
| 303 group.add_argument('--device-flags', dest='device_flags', default='', | 305 group.add_argument('--device-flags', dest='device_flags', default='', |
| 304 help='The relative filepath to a file containing ' | 306 help='The relative filepath to a file containing ' |
| 305 'command-line flags to set on the device') | 307 'command-line flags to set on the device') |
| 308 group.add_argument('--device-flags-file', default='', |
| 309 help='The relative filepath to a file containing ' |
| 310 'command-line flags to set on the device') |
| 306 group.add_argument('--isolate_file_path', | 311 group.add_argument('--isolate_file_path', |
| 307 '--isolate-file-path', | 312 '--isolate-file-path', |
| 308 dest='isolate_file_path', | 313 dest='isolate_file_path', |
| 309 help='.isolate file path to override the default ' | 314 help='.isolate file path to override the default ' |
| 310 'path') | 315 'path') |
| 311 | 316 |
| 312 AddCommonOptions(parser) | 317 AddCommonOptions(parser) |
| 313 AddDeviceOptions(parser) | 318 AddDeviceOptions(parser) |
| 314 | 319 |
| 315 | 320 |
| (...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 elif command == 'perf': | 896 elif command == 'perf': |
| 892 return _RunPerfTests(args) | 897 return _RunPerfTests(args) |
| 893 elif command == 'python': | 898 elif command == 'python': |
| 894 return _RunPythonTests(args) | 899 return _RunPythonTests(args) |
| 895 else: | 900 else: |
| 896 raise Exception('Unknown test type.') | 901 raise Exception('Unknown test type.') |
| 897 | 902 |
| 898 | 903 |
| 899 _SUPPORTED_IN_PLATFORM_MODE = [ | 904 _SUPPORTED_IN_PLATFORM_MODE = [ |
| 900 # TODO(jbudorick): Add support for more test types. | 905 # TODO(jbudorick): Add support for more test types. |
| 901 'gtest', 'uirobot', | 906 'gtest', |
| 907 'instrumentation', |
| 908 'uirobot', |
| 902 ] | 909 ] |
| 903 | 910 |
| 904 | 911 |
| 905 def RunTestsInPlatformMode(args, parser): | 912 def RunTestsInPlatformMode(args, parser): |
| 906 | 913 |
| 907 if args.command not in _SUPPORTED_IN_PLATFORM_MODE: | 914 if args.command not in _SUPPORTED_IN_PLATFORM_MODE: |
| 908 parser.error('%s is not yet supported in platform mode' % args.command) | 915 parser.error('%s is not yet supported in platform mode' % args.command) |
| 909 | 916 |
| 910 with environment_factory.CreateEnvironment(args, parser.error) as env: | 917 with environment_factory.CreateEnvironment(args, parser.error) as env: |
| 911 with test_instance_factory.CreateTestInstance(args, parser.error) as test: | 918 with test_instance_factory.CreateTestInstance(args, parser.error) as test: |
| 912 with test_run_factory.CreateTestRun( | 919 with test_run_factory.CreateTestRun( |
| 913 args, env, test, parser.error) as test_run: | 920 args, env, test, parser.error) as test_run: |
| 914 results = test_run.RunTests() | 921 results = test_run.RunTests() |
| 915 | 922 |
| 916 if args.trigger: | 923 if args.environment == 'remote_device' and args.trigger: |
| 917 return 0 # Not returning results, only triggering. | 924 return 0 # Not returning results, only triggering. |
| 918 | 925 |
| 919 report_results.LogFull( | 926 report_results.LogFull( |
| 920 results=results, | 927 results=results, |
| 921 test_type=test.TestType(), | 928 test_type=test.TestType(), |
| 922 test_package=test_run.TestPackage(), | 929 test_package=test_run.TestPackage(), |
| 923 annotation=getattr(args, 'annotations', None), | 930 annotation=getattr(args, 'annotations', None), |
| 924 flakiness_server=getattr(args, 'flakiness_dashboard_server', None)) | 931 flakiness_server=getattr(args, 'flakiness_dashboard_server', None)) |
| 925 | 932 |
| 926 if args.json_results_file: | 933 if args.json_results_file: |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 981 subparser = command_parsers.add_parser( | 988 subparser = command_parsers.add_parser( |
| 982 test_type, usage='%(prog)s [options]', help=config.help_txt) | 989 test_type, usage='%(prog)s [options]', help=config.help_txt) |
| 983 config.add_options_func(subparser) | 990 config.add_options_func(subparser) |
| 984 | 991 |
| 985 args = parser.parse_args() | 992 args = parser.parse_args() |
| 986 return RunTestsCommand(args, parser) | 993 return RunTestsCommand(args, parser) |
| 987 | 994 |
| 988 | 995 |
| 989 if __name__ == '__main__': | 996 if __name__ == '__main__': |
| 990 sys.exit(main()) | 997 sys.exit(main()) |
| OLD | NEW |