| Index: build/android/test_runner.py
|
| diff --git a/build/android/test_runner.py b/build/android/test_runner.py
|
| index e324536713445017247de46d9b85bf80b76d2122..8088ad214db51601008a737897b0219a8d84eb28 100755
|
| --- a/build/android/test_runner.py
|
| +++ b/build/android/test_runner.py
|
| @@ -31,6 +31,9 @@
|
| from pylib.base import test_dispatcher
|
| from pylib.base import test_instance_factory
|
| from pylib.base import test_run_factory
|
| +from pylib.gtest import gtest_config
|
| +from pylib.gtest import setup as gtest_setup
|
| +from pylib.gtest import test_options as gtest_test_options
|
| from pylib.linker import setup as linker_setup
|
| from pylib.host_driven import setup as host_driven_setup
|
| from pylib.instrumentation import setup as instrumentation_setup
|
| @@ -190,10 +193,15 @@
|
| def AddGTestOptions(parser):
|
| """Adds gtest options to |parser|."""
|
|
|
| + gtest_suites = list(gtest_config.STABLE_TEST_SUITES
|
| + + gtest_config.EXPERIMENTAL_TEST_SUITES)
|
| +
|
| group = parser.add_argument_group('GTest Options')
|
| group.add_argument('-s', '--suite', dest='suite_name',
|
| nargs='+', metavar='SUITE_NAME', required=True,
|
| - help='Executable name of the test suite to run.')
|
| + help=('Executable name of the test suite to run. '
|
| + 'Available suites include (but are not limited to): '
|
| + '%s' % ', '.join('"%s"' % s for s in gtest_suites)))
|
| group.add_argument('--gtest_also_run_disabled_tests',
|
| '--gtest-also-run-disabled-tests',
|
| dest='run_disabled', action='store_true',
|
| @@ -640,6 +648,44 @@
|
| choices=constants.PYTHON_UNIT_TEST_SUITES.keys(),
|
| help='Name of the test suite to run.')
|
| AddCommonOptions(parser)
|
| +
|
| +
|
| +def _RunGTests(args, devices):
|
| + """Subcommand of RunTestsCommands which runs gtests."""
|
| + exit_code = 0
|
| + for suite_name in args.suite_name:
|
| + # TODO(jbudorick): Either deprecate multi-suite or move its handling down
|
| + # into the gtest code.
|
| + gtest_options = gtest_test_options.GTestOptions(
|
| + args.tool,
|
| + args.test_filter,
|
| + args.run_disabled,
|
| + args.test_arguments,
|
| + args.timeout,
|
| + args.isolate_file_path,
|
| + suite_name,
|
| + args.app_data_files,
|
| + args.app_data_file_dir,
|
| + args.delete_stale_data)
|
| + runner_factory, tests = gtest_setup.Setup(gtest_options, devices)
|
| +
|
| + results, test_exit_code = test_dispatcher.RunTests(
|
| + tests, runner_factory, devices, shard=True, test_timeout=None,
|
| + num_retries=args.num_retries)
|
| +
|
| + if test_exit_code and exit_code != constants.ERROR_EXIT_CODE:
|
| + exit_code = test_exit_code
|
| +
|
| + report_results.LogFull(
|
| + results=results,
|
| + test_type='Unit test',
|
| + test_package=suite_name,
|
| + flakiness_server=args.flakiness_dashboard_server)
|
| +
|
| + if args.json_results_file:
|
| + json_results.GenerateJsonResultsFile(results, args.json_results_file)
|
| +
|
| + return exit_code
|
|
|
|
|
| def _RunLinkerTests(args, devices):
|
|
|