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

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

Issue 689293002: Add option to push files to device using isolate for instrumentation tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moved shared functions into new base_setup module. Created 6 years, 1 month 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
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 collections 9 import collections
10 import logging 10 import logging
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 option_parser.add_option( 252 option_parser.add_option(
253 '--test-apk', dest='test_apk', 253 '--test-apk', dest='test_apk',
254 help=('The name of the apk containing the tests ' 254 help=('The name of the apk containing the tests '
255 '(without the .apk extension; e.g. "ContentShellTest").')) 255 '(without the .apk extension; e.g. "ContentShellTest").'))
256 option_parser.add_option('--coverage-dir', 256 option_parser.add_option('--coverage-dir',
257 help=('Directory in which to place all generated ' 257 help=('Directory in which to place all generated '
258 'EMMA coverage files.')) 258 'EMMA coverage files.'))
259 option_parser.add_option('--device-flags', dest='device_flags', default='', 259 option_parser.add_option('--device-flags', dest='device_flags', default='',
260 help='The relative filepath to a file containing ' 260 help='The relative filepath to a file containing '
261 'command-line flags to set on the device') 261 'command-line flags to set on the device')
262 option_parser.add_option('--isolate_file_path',
263 '--isolate-file-path',
264 dest='isolate_file_path',
265 help='.isolate file path to override the default '
266 'path')
262 267
263 268
264 def ProcessInstrumentationOptions(options, error_func): 269 def ProcessInstrumentationOptions(options, error_func):
265 """Processes options/arguments and populate |options| with defaults. 270 """Processes options/arguments and populate |options| with defaults.
266 271
267 Args: 272 Args:
268 options: optparse.Options object. 273 options: optparse.Options object.
269 error_func: Function to call with the error message in case of an error. 274 error_func: Function to call with the error message in case of an error.
270 275
271 Returns: 276 Returns:
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
315 options.test_data, 320 options.test_data,
316 options.save_perf_json, 321 options.save_perf_json,
317 options.screenshot_failures, 322 options.screenshot_failures,
318 options.wait_for_debugger, 323 options.wait_for_debugger,
319 options.coverage_dir, 324 options.coverage_dir,
320 options.test_apk, 325 options.test_apk,
321 options.test_apk_path, 326 options.test_apk_path,
322 options.test_apk_jar_path, 327 options.test_apk_jar_path,
323 options.test_runner, 328 options.test_runner,
324 options.test_support_apk_path, 329 options.test_support_apk_path,
325 options.device_flags 330 options.device_flags,
331 options.isolate_file_path
326 ) 332 )
327 333
328 334
329 def AddUIAutomatorTestOptions(option_parser): 335 def AddUIAutomatorTestOptions(option_parser):
330 """Adds UI Automator test options to |option_parser|.""" 336 """Adds UI Automator test options to |option_parser|."""
331 337
332 option_parser.usage = '%prog uiautomator [options]' 338 option_parser.usage = '%prog uiautomator [options]'
333 option_parser.commands_dict = {} 339 option_parser.commands_dict = {}
334 option_parser.example = ( 340 option_parser.example = (
335 '%prog uiautomator --test-jar=chrome_shell_uiautomator_tests' 341 '%prog uiautomator --test-jar=chrome_shell_uiautomator_tests'
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 instrumentation_options = ProcessInstrumentationOptions(options, error_func) 646 instrumentation_options = ProcessInstrumentationOptions(options, error_func)
641 647
642 if len(devices) > 1 and options.wait_for_debugger: 648 if len(devices) > 1 and options.wait_for_debugger:
643 logging.warning('Debugger can not be sharded, using first available device') 649 logging.warning('Debugger can not be sharded, using first available device')
644 devices = devices[:1] 650 devices = devices[:1]
645 651
646 results = base_test_result.TestRunResults() 652 results = base_test_result.TestRunResults()
647 exit_code = 0 653 exit_code = 0
648 654
649 if options.run_java_tests: 655 if options.run_java_tests:
650 runner_factory, tests = instrumentation_setup.Setup(instrumentation_options) 656 runner_factory, tests = instrumentation_setup.Setup(
657 instrumentation_options, devices)
651 658
652 test_results, exit_code = test_dispatcher.RunTests( 659 test_results, exit_code = test_dispatcher.RunTests(
653 tests, runner_factory, devices, shard=True, test_timeout=None, 660 tests, runner_factory, devices, shard=True, test_timeout=None,
654 num_retries=options.num_retries) 661 num_retries=options.num_retries)
655 662
656 results.AddTestRunResults(test_results) 663 results.AddTestRunResults(test_results)
657 664
658 if options.run_python_tests: 665 if options.run_python_tests:
659 runner_factory, tests = host_driven_setup.InstrumentationSetup( 666 runner_factory, tests = host_driven_setup.InstrumentationSetup(
660 options.host_driven_root, options.official_build, 667 options.host_driven_root, options.official_build,
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 951
945 def main(): 952 def main():
946 signal.signal(signal.SIGUSR1, DumpThreadStacks) 953 signal.signal(signal.SIGUSR1, DumpThreadStacks)
947 option_parser = command_option_parser.CommandOptionParser( 954 option_parser = command_option_parser.CommandOptionParser(
948 commands_dict=VALID_COMMANDS) 955 commands_dict=VALID_COMMANDS)
949 return command_option_parser.ParseAndExecute(option_parser) 956 return command_option_parser.ParseAndExecute(option_parser)
950 957
951 958
952 if __name__ == '__main__': 959 if __name__ == '__main__':
953 sys.exit(main()) 960 sys.exit(main())
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698