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

Side by Side Diff: build/android/pylib/uiautomator/dispatch.py

Issue 19021003: Fixes dispatch files to return exit codes in several places (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 5 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/instrumentation/dispatch.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 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Dispatches the uiautomator tests.""" 5 """Dispatches the uiautomator tests."""
6 6
7 import logging 7 import logging
8 import os 8 import os
9 9
10 from pylib import android_commands 10 from pylib import android_commands
11 from pylib import constants
11 from pylib.base import base_test_result 12 from pylib.base import base_test_result
12 from pylib.base import shard 13 from pylib.base import shard
13 from pylib.utils import report_results 14 from pylib.utils import report_results
14 15
15 import test_package 16 import test_package
16 import test_runner 17 import test_runner
17 18
18 19
19 def Dispatch(options): 20 def Dispatch(options):
20 """Dispatches uiautomator tests onto connected device(s). 21 """Dispatches uiautomator tests onto connected device(s).
21 22
22 If possible, this method will attempt to shard the tests to 23 If possible, this method will attempt to shard the tests to
23 all connected devices. Otherwise, dispatch and run tests on one device. 24 all connected devices. Otherwise, dispatch and run tests on one device.
24 25
25 Args: 26 Args:
26 options: Command line options. 27 options: Command line options.
27 28
28 Returns: 29 Returns:
29 A tuple of (base_test_result.TestRunResults object, exit code) 30 A tuple of (base_test_result.TestRunResults object, exit code)
30 31
31 Raises: 32 Raises:
32 Exception: when there are no attached devices. 33 Exception: when there are no attached devices.
33 """ 34 """
34 test_pkg = test_package.TestPackage( 35 test_pkg = test_package.TestPackage(
35 options.uiautomator_jar, options.uiautomator_info_jar) 36 options.uiautomator_jar, options.uiautomator_info_jar)
36 tests = test_pkg._GetAllMatchingTests( 37 tests = test_pkg._GetAllMatchingTests(
37 options.annotations, options.exclude_annotations, options.test_filter) 38 options.annotations, options.exclude_annotations, options.test_filter)
38 if not tests: 39 if not tests:
39 logging.warning('No uiautomator tests to run with current args.') 40 logging.error('No uiautomator tests to run with current args.')
40 return base_test_result.TestRunResults() 41 return (base_test_result.TestRunResults(), constants.ERROR_EXIT_CODE)
41 42
42 attached_devices = android_commands.GetAttachedDevices() 43 attached_devices = android_commands.GetAttachedDevices()
43 if not attached_devices: 44 if not attached_devices:
44 raise Exception('There are no devices online.') 45 raise Exception('There are no devices online.')
45 46
46 if options.test_device: 47 if options.test_device:
47 assert options.test_device in attached_devices 48 assert options.test_device in attached_devices
48 attached_devices = [options.test_device] 49 attached_devices = [options.test_device]
49 50
50 def TestRunnerFactory(device, shard_index): 51 def TestRunnerFactory(device, shard_index):
51 return test_runner.TestRunner( 52 return test_runner.TestRunner(
52 options, device, shard_index, test_pkg, []) 53 options, device, shard_index, test_pkg, [])
53 54
54 return shard.ShardAndRunTests(TestRunnerFactory, attached_devices, 55 return shard.ShardAndRunTests(TestRunnerFactory, attached_devices,
55 tests, options.build_type, 56 tests, options.build_type,
56 num_retries=options.num_retries) 57 num_retries=options.num_retries)
OLDNEW
« no previous file with comments | « build/android/pylib/instrumentation/dispatch.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698