| Index: build/android/provision_devices.py
|
| diff --git a/build/android/provision_devices.py b/build/android/provision_devices.py
|
| index 110de5b99911216eac4a9f0418dfb7441af6a59c..b0c44d4f9d2ca6a7cb2418bee1005414cc9a1550 100755
|
| --- a/build/android/provision_devices.py
|
| +++ b/build/android/provision_devices.py
|
| @@ -35,7 +35,7 @@ def KillHostHeartbeat():
|
| stdout, _ = ps.communicate()
|
| matches = re.findall('\\n.*host_heartbeat.*', stdout)
|
| for match in matches:
|
| - print 'An instance of host heart beart running... will kill'
|
| + logging.info('An instance of host heart beart running... will kill')
|
| pid = re.findall('(\d+)', match)[0]
|
| subprocess.call(['kill', str(pid)])
|
|
|
| @@ -44,7 +44,7 @@ def LaunchHostHeartbeat():
|
| # Kill if existing host_heartbeat
|
| KillHostHeartbeat()
|
| # Launch a new host_heartbeat
|
| - print 'Spawning host heartbeat...'
|
| + logging.info('Spawning host heartbeat...')
|
| subprocess.Popen([os.path.join(constants.DIR_SOURCE_ROOT,
|
| 'build/android/host_heartbeat.py')])
|
|
|
| @@ -59,7 +59,7 @@ def PushAndLaunchAdbReboot(devices, target):
|
| locating the adb_reboot binary.
|
| """
|
| for device_serial in devices:
|
| - print 'Will push and launch adb_reboot on %s' % device_serial
|
| + logging.info('Will push and launch adb_reboot on %s' % device_serial)
|
| device = device_utils.DeviceUtils(device_serial)
|
| # Kill if adb_reboot is already running.
|
| try:
|
| @@ -71,12 +71,12 @@ def PushAndLaunchAdbReboot(devices, target):
|
| # to be running.
|
| pass
|
| # Push adb_reboot
|
| - print ' Pushing adb_reboot ...'
|
| + logging.info(' Pushing adb_reboot ...')
|
| adb_reboot = os.path.join(constants.DIR_SOURCE_ROOT,
|
| 'out/%s/adb_reboot' % target)
|
| device.PushChangedFiles(adb_reboot, '/data/local/tmp/')
|
| # Launch adb_reboot
|
| - print ' Launching adb_reboot ...'
|
| + logging.info(' Launching adb_reboot ...')
|
| device.old_interface.GetAndroidToolStatusAndOutput(
|
| '/data/local/tmp/adb_reboot')
|
| LaunchHostHeartbeat()
|
| @@ -160,17 +160,19 @@ def ProvisionDevice(device_serial, is_perf, disable_location):
|
| device = device_utils.DeviceUtils(device_serial)
|
| device.old_interface.EnableAdbRoot()
|
| _ConfigureLocalProperties(device, is_perf)
|
| - device_settings_map = device_settings.DETERMINISTIC_DEVICE_SETTINGS
|
| + device_settings.ConfigureContentSettings(
|
| + device, device_settings.DETERMINISTIC_DEVICE_SETTINGS)
|
| if disable_location:
|
| - device_settings_map.update(device_settings.DISABLE_LOCATION_SETTING)
|
| + device_settings.ConfigureContentSettings(
|
| + device, device_settings.DISABLE_LOCATION_SETTINGS)
|
| else:
|
| - device_settings_map.update(device_settings.ENABLE_LOCATION_SETTING)
|
| - device_settings.ConfigureContentSettingsDict(device, device_settings_map)
|
| + device_settings.ConfigureContentSettings(
|
| + device, device_settings.ENABLE_LOCATION_SETTINGS)
|
| device_settings.SetLockScreenSettings(device)
|
| if is_perf:
|
| # TODO(tonyg): We eventually want network on. However, currently radios
|
| # can cause perfbots to drain faster than they charge.
|
| - device_settings.ConfigureContentSettingsDict(
|
| + device_settings.ConfigureContentSettings(
|
| device, device_settings.NETWORK_DISABLED_SETTINGS)
|
| # Some perf bots run benchmarks with USB charging disabled which leads
|
| # to gradual draining of the battery. We must wait for a full charge
|
| @@ -214,12 +216,18 @@ def ProvisionDevices(options):
|
| for device_serial in devices:
|
| try:
|
| ProvisionDevice(device_serial, is_perf, options.disable_location)
|
| - except errors.WaitForResponseTimedOutError:
|
| + except (errors.WaitForResponseTimedOutError,
|
| + device_errors.CommandTimeoutError):
|
| logging.info('Timed out waiting for device %s. Adding to blacklist.',
|
| device_serial)
|
| bad_devices.append(device_serial)
|
| # Device black list is reset by bb_device_status_check.py per build.
|
| device_blacklist.ExtendBlacklist([device_serial])
|
| + except device_errors.CommandFailedError:
|
| + logging.info('Failed to provision device %s. Adding to blacklist.',
|
| + device_serial)
|
| + bad_devices.append(device_serial)
|
| + device_blacklist.ExtendBlacklist([device_serial])
|
| devices = [device for device in devices if device not in bad_devices]
|
|
|
| # If there are no good devices
|
| @@ -238,13 +246,19 @@ def ProvisionDevices(options):
|
| device.WaitUntilFullyBooted(timeout=90)
|
| (_, prop) = device.old_interface.GetShellCommandStatusAndOutput('getprop')
|
| for p in prop:
|
| - print p
|
| - except errors.WaitForResponseTimedOutError:
|
| + logging.info(p)
|
| + except (errors.WaitForResponseTimedOutError,
|
| + device_errors.CommandTimeoutError):
|
| logging.info('Timed out waiting for device %s. Adding to blacklist.',
|
| device_serial)
|
| bad_devices.append(device_serial)
|
| # Device black list is reset by bb_device_status_check.py per build.
|
| device_blacklist.ExtendBlacklist([device_serial])
|
| + except device_errors.CommandFailedError:
|
| + logging.info('Failed to provision device %s. Adding to blacklist.',
|
| + device_serial)
|
| + bad_devices.append(device_serial)
|
| + device_blacklist.ExtendBlacklist([device_serial])
|
| devices = [device for device in devices if device not in bad_devices]
|
|
|
| # If there are no good devices
|
|
|