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

Unified Diff: build/android/provision_devices.py

Issue 882093003: [Android] Tune default timeouts in provision_devices. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/provision_devices.py
diff --git a/build/android/provision_devices.py b/build/android/provision_devices.py
index dad940db8e7f52ebdead348084cd663c2d5c74fb..65054fe32ce19b9b8a0aa133b576320b3631de0a 100755
--- a/build/android/provision_devices.py
+++ b/build/android/provision_devices.py
@@ -30,6 +30,15 @@ sys.path.append(os.path.join(constants.DIR_SOURCE_ROOT,
'third_party', 'android_testrunner'))
import errors
+
+class _DEFAULT_TIMEOUTS(object):
+ # L can take a while to reboot after a wipe.
+ LOLLIPOP = 600
+ PRE_LOLLIPOP = 180
+
+ HELP_TEXT = '{}s on L, {}s on pre-L'.format(LOLLIPOP, PRE_LOLLIPOP)
+
+
def KillHostHeartbeat():
ps = subprocess.Popen(['ps', 'aux'], stdout=subprocess.PIPE)
stdout, _ = ps.communicate()
@@ -141,9 +150,17 @@ def WipeDeviceIfPossible(device, timeout):
def ProvisionDevice(device, options):
+ if options.reboot_timeout:
+ reboot_timeout = options.reboot_timeout
+ elif (device.build_version_sdk >=
+ constants.ANDROID_SDK_VERSION_CODES.LOLLIPOP):
+ reboot_timeout = _DEFAULT_TIMEOUTS.LOLLIPOP
+ else:
+ reboot_timeout = _DEFAULT_TIMEOUTS.PRE_LOLLIPOP
+
try:
if not options.skip_wipe:
- WipeDeviceIfPossible(device, options.reboot_timeout)
+ WipeDeviceIfPossible(device, reboot_timeout)
try:
device.EnableRoot()
except device_errors.CommandFailedError as e:
@@ -181,7 +198,7 @@ def ProvisionDevice(device, options):
time.sleep(60)
battery_info = device.old_interface.GetBatteryInfo()
if not options.skip_wipe:
- device.Reboot(True, timeout=options.reboot_timeout, retries=0)
+ device.Reboot(True, timeout=reboot_timeout, retries=0)
device.RunShellCommand('date -s %s' % time.strftime('%Y%m%d.%H%M%S',
time.gmtime()),
as_root=True)
@@ -253,10 +270,10 @@ def main():
' (the default is to provision all devices attached)')
parser.add_argument('--skip-wipe', action='store_true', default=False,
help="don't wipe device data during provisioning")
- parser.add_argument('--reboot-timeout', default=600, type=int,
- metavar='SECS',
+ parser.add_argument('--reboot-timeout', metavar='SECS', type=int,
help='when wiping the device, max number of seconds to'
- ' wait after each reboot (default: %(default)s)')
+ ' wait after each reboot '
+ '(default: %s)' % _DEFAULT_TIMEOUTS.HELP_TEXT)
parser.add_argument('--wait-for-battery', action='store_true',
default=is_perf,
help='wait for the battery on the devices to charge')
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698