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

Unified Diff: build/android/test_runner.py

Issue 2752493002: [android] Add support for passing command-line flags directly. (Closed)
Patch Set: Ensure command_line_flags is always present in the Namespace. Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/pylib/local/device/local_device_gtest_run.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/test_runner.py
diff --git a/build/android/test_runner.py b/build/android/test_runner.py
index b3c1b97180c03ffb1e5ad5f1d16e0347de5f09a3..121a990a48dd986ca5e8a45ebd095c440bca024b 100755
--- a/build/android/test_runner.py
+++ b/build/android/test_runner.py
@@ -42,7 +42,7 @@ _DEVIL_STATIC_CONFIG_FILE = os.path.abspath(os.path.join(
host_paths.DIR_SOURCE_ROOT, 'build', 'android', 'devil_config.json'))
-def AddTestLauncherArgs(parser):
+def AddTestLauncherOptions(parser):
"""Adds arguments mirroring //base/test/launcher.
Args:
@@ -75,6 +75,23 @@ def AddTestLauncherArgs(parser):
return parser
+def AddCommandLineOptions(parser):
+ """Adds arguments to support passing command-line flags to the device."""
+ parser.add_argument(
+ '--device-flags-file',
+ type=os.path.realpath,
+ help='The relative filepath to a file containing '
+ 'command-line flags to set on the device')
+ # TODO(jbudorick): This is deprecated. Remove once clients have switched
+ # to passing command-line flags directly.
+ parser.add_argument(
+ '-a', '--test-arguments',
+ dest='test_arguments', default='',
+ help=argparse.SUPPRESS)
+ parser.set_defaults(allow_unknown=True)
+ parser.set_defaults(command_line_flags=None)
+
+
def AddTracingOptions(parser):
# TODO(shenghuazhang): Move this into AddCommonOptions once it's supported
# for all test types.
@@ -160,7 +177,7 @@ def AddCommonOptions(parser):
dest='verbose_count', default=0, action='count',
help='Verbose level (multiple times for more)')
- AddTestLauncherArgs(parser)
+ AddTestLauncherOptions(parser)
def ProcessCommonOptions(args):
@@ -285,10 +302,6 @@ def AddGTestOptions(parser):
'--test-apk-incremental-install-script',
type=os.path.realpath,
help='Path to install script for the test apk.')
- parser.add_argument(
- '-a', '--test-arguments',
- dest='test_arguments', default='',
- help='Additional arguments to pass to the test.')
filter_group = parser.add_mutually_exclusive_group()
filter_group.add_argument(
@@ -335,17 +348,6 @@ def AddInstrumentationTestOptions(parser):
action='store_true', dest='delete_stale_data',
help='Delete stale test data on the device.')
parser.add_argument(
- '--device-flags',
- dest='device_flags',
- type=os.path.realpath,
- help='The relative filepath to a file containing '
- 'command-line flags to set on the device')
- parser.add_argument(
- '--device-flags-file',
- type=os.path.realpath,
- help='The relative filepath to a file containing '
- 'command-line flags to set on the device')
- parser.add_argument(
'--disable-dalvik-asserts',
dest='set_asserts', action='store_false', default=True,
help='Removes the dalvik.vm.enableassertions property')
@@ -825,6 +827,7 @@ def main():
AddDeviceOptions(subp)
AddGTestOptions(subp)
AddTracingOptions(subp)
+ AddCommandLineOptions(subp)
subp = command_parsers.add_parser(
'instrumentation',
@@ -833,6 +836,7 @@ def main():
AddDeviceOptions(subp)
AddInstrumentationTestOptions(subp)
AddTracingOptions(subp)
+ AddCommandLineOptions(subp)
subp = command_parsers.add_parser(
'junit',
@@ -868,7 +872,12 @@ def main():
AddCommonOptions(subp)
AddPythonTestOptions(subp)
- args = parser.parse_args()
+ args, unknown_args = parser.parse_known_args()
+ if unknown_args:
+ if hasattr(args, 'allow_unknown') and args.allow_unknown:
+ args.command_line_flags = unknown_args
+ else:
+ parser.error('unrecognized arguments: %s' % ' '.join(unknown_args))
try:
return RunTestsCommand(args)
« no previous file with comments | « build/android/pylib/local/device/local_device_gtest_run.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698