Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Side by Side Diff: build/android/test_runner.py

Issue 1354213004: Revert of [Android] Remove old gtest test_runner code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/android/pylib/gtest/test_runner.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 13 matching lines...) Expand all
24 from devil.utils import reraiser_thread 24 from devil.utils import reraiser_thread
25 from devil.utils import run_tests_helper 25 from devil.utils import run_tests_helper
26 26
27 from pylib import constants 27 from pylib import constants
28 from pylib import forwarder 28 from pylib import forwarder
29 from pylib.base import base_test_result 29 from pylib.base import base_test_result
30 from pylib.base import environment_factory 30 from pylib.base import environment_factory
31 from pylib.base import test_dispatcher 31 from pylib.base import test_dispatcher
32 from pylib.base import test_instance_factory 32 from pylib.base import test_instance_factory
33 from pylib.base import test_run_factory 33 from pylib.base import test_run_factory
34 from pylib.gtest import gtest_config
35 from pylib.gtest import setup as gtest_setup
36 from pylib.gtest import test_options as gtest_test_options
34 from pylib.linker import setup as linker_setup 37 from pylib.linker import setup as linker_setup
35 from pylib.host_driven import setup as host_driven_setup 38 from pylib.host_driven import setup as host_driven_setup
36 from pylib.instrumentation import setup as instrumentation_setup 39 from pylib.instrumentation import setup as instrumentation_setup
37 from pylib.instrumentation import test_options as instrumentation_test_options 40 from pylib.instrumentation import test_options as instrumentation_test_options
38 from pylib.junit import setup as junit_setup 41 from pylib.junit import setup as junit_setup
39 from pylib.junit import test_dispatcher as junit_dispatcher 42 from pylib.junit import test_dispatcher as junit_dispatcher
40 from pylib.monkey import setup as monkey_setup 43 from pylib.monkey import setup as monkey_setup
41 from pylib.monkey import test_options as monkey_test_options 44 from pylib.monkey import test_options as monkey_test_options
42 from pylib.perf import setup as perf_setup 45 from pylib.perf import setup as perf_setup
43 from pylib.perf import test_options as perf_test_options 46 from pylib.perf import test_options as perf_test_options
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 '(use --tool help to list them)')) 186 '(use --tool help to list them)'))
184 group.add_argument('-d', '--device', dest='test_device', 187 group.add_argument('-d', '--device', dest='test_device',
185 help=('Target device for the test suite ' 188 help=('Target device for the test suite '
186 'to run on.')) 189 'to run on.'))
187 group.add_argument('--blacklist-file', help='Device blacklist file.') 190 group.add_argument('--blacklist-file', help='Device blacklist file.')
188 191
189 192
190 def AddGTestOptions(parser): 193 def AddGTestOptions(parser):
191 """Adds gtest options to |parser|.""" 194 """Adds gtest options to |parser|."""
192 195
196 gtest_suites = list(gtest_config.STABLE_TEST_SUITES
197 + gtest_config.EXPERIMENTAL_TEST_SUITES)
198
193 group = parser.add_argument_group('GTest Options') 199 group = parser.add_argument_group('GTest Options')
194 group.add_argument('-s', '--suite', dest='suite_name', 200 group.add_argument('-s', '--suite', dest='suite_name',
195 nargs='+', metavar='SUITE_NAME', required=True, 201 nargs='+', metavar='SUITE_NAME', required=True,
196 help='Executable name of the test suite to run.') 202 help=('Executable name of the test suite to run. '
203 'Available suites include (but are not limited to): '
204 '%s' % ', '.join('"%s"' % s for s in gtest_suites)))
197 group.add_argument('--gtest_also_run_disabled_tests', 205 group.add_argument('--gtest_also_run_disabled_tests',
198 '--gtest-also-run-disabled-tests', 206 '--gtest-also-run-disabled-tests',
199 dest='run_disabled', action='store_true', 207 dest='run_disabled', action='store_true',
200 help='Also run disabled tests if applicable.') 208 help='Also run disabled tests if applicable.')
201 group.add_argument('-a', '--test-arguments', dest='test_arguments', 209 group.add_argument('-a', '--test-arguments', dest='test_arguments',
202 default='', 210 default='',
203 help='Additional arguments to pass to the test.') 211 help='Additional arguments to pass to the test.')
204 group.add_argument('-t', dest='timeout', type=int, default=60, 212 group.add_argument('-t', dest='timeout', type=int, default=60,
205 help='Timeout to wait for each test ' 213 help='Timeout to wait for each test '
206 '(default: %(default)s).') 214 '(default: %(default)s).')
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 643
636 def AddPythonTestOptions(parser): 644 def AddPythonTestOptions(parser):
637 group = parser.add_argument_group('Python Test Options') 645 group = parser.add_argument_group('Python Test Options')
638 group.add_argument( 646 group.add_argument(
639 '-s', '--suite', dest='suite_name', metavar='SUITE_NAME', 647 '-s', '--suite', dest='suite_name', metavar='SUITE_NAME',
640 choices=constants.PYTHON_UNIT_TEST_SUITES.keys(), 648 choices=constants.PYTHON_UNIT_TEST_SUITES.keys(),
641 help='Name of the test suite to run.') 649 help='Name of the test suite to run.')
642 AddCommonOptions(parser) 650 AddCommonOptions(parser)
643 651
644 652
653 def _RunGTests(args, devices):
654 """Subcommand of RunTestsCommands which runs gtests."""
655 exit_code = 0
656 for suite_name in args.suite_name:
657 # TODO(jbudorick): Either deprecate multi-suite or move its handling down
658 # into the gtest code.
659 gtest_options = gtest_test_options.GTestOptions(
660 args.tool,
661 args.test_filter,
662 args.run_disabled,
663 args.test_arguments,
664 args.timeout,
665 args.isolate_file_path,
666 suite_name,
667 args.app_data_files,
668 args.app_data_file_dir,
669 args.delete_stale_data)
670 runner_factory, tests = gtest_setup.Setup(gtest_options, devices)
671
672 results, test_exit_code = test_dispatcher.RunTests(
673 tests, runner_factory, devices, shard=True, test_timeout=None,
674 num_retries=args.num_retries)
675
676 if test_exit_code and exit_code != constants.ERROR_EXIT_CODE:
677 exit_code = test_exit_code
678
679 report_results.LogFull(
680 results=results,
681 test_type='Unit test',
682 test_package=suite_name,
683 flakiness_server=args.flakiness_dashboard_server)
684
685 if args.json_results_file:
686 json_results.GenerateJsonResultsFile(results, args.json_results_file)
687
688 return exit_code
689
690
645 def _RunLinkerTests(args, devices): 691 def _RunLinkerTests(args, devices):
646 """Subcommand of RunTestsCommands which runs linker tests.""" 692 """Subcommand of RunTestsCommands which runs linker tests."""
647 runner_factory, tests = linker_setup.Setup(args, devices) 693 runner_factory, tests = linker_setup.Setup(args, devices)
648 694
649 results, exit_code = test_dispatcher.RunTests( 695 results, exit_code = test_dispatcher.RunTests(
650 tests, runner_factory, devices, shard=True, test_timeout=60, 696 tests, runner_factory, devices, shard=True, test_timeout=60,
651 num_retries=args.num_retries) 697 num_retries=args.num_retries)
652 698
653 report_results.LogFull( 699 report_results.LogFull(
654 results=results, 700 results=results,
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
1015 if e.is_infra_error: 1061 if e.is_infra_error:
1016 return constants.INFRA_EXIT_CODE 1062 return constants.INFRA_EXIT_CODE
1017 return constants.ERROR_EXIT_CODE 1063 return constants.ERROR_EXIT_CODE
1018 except: # pylint: disable=W0702 1064 except: # pylint: disable=W0702
1019 logging.exception('Unrecognized error occurred.') 1065 logging.exception('Unrecognized error occurred.')
1020 return constants.ERROR_EXIT_CODE 1066 return constants.ERROR_EXIT_CODE
1021 1067
1022 1068
1023 if __name__ == '__main__': 1069 if __name__ == '__main__':
1024 sys.exit(main()) 1070 sys.exit(main())
OLDNEW
« no previous file with comments | « build/android/pylib/gtest/test_runner.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698