def main(): parser = optparse.OptionParser() parser.add_option('', '--out-dir', help='Directory where the device path is stored', default=os.path.join(os.path.dirname(__file__), '..', '..', 'out')) options, args = parser.parse_args() if args: parser.error('Unknown options %s' % args) buildbot_report.PrintNamedStep('Device Status Check') devices = android_commands.GetAttachedDevices() types, builds, reports, errors = [], [], [], [] if devices: types, builds, reports, errors = zip( *[DeviceInfo(dev) for dev in devices]) unique_types = list(set(types)) unique_builds = list(set(builds)) buildbot_report.PrintMsg('Online devices: %d. Device types %s, builds %s' % (len(devices), unique_types, unique_builds)) print '\n'.join(reports) full_errors = [] for serial, device_errors in zip(devices, errors): full_errors.extend('%s: %s' % (serial, error) for error in device_errors) if full_errors: buildbot_report.PrintWarning() print '\n'.join(full_errors) CheckForMissingDevices(options, devices)
def main(): parser = optparse.OptionParser() parser.add_option('', '--out-dir', help='Directory where the device path is stored', default=os.path.join(os.path.dirname(__file__), '..', '..', 'out')) parser.add_option( '--no-provisioning-check', help='Will not check if devices are provisioned properly.') options, args = parser.parse_args() if args: parser.error('Unknown options %s' % args) devices = android_commands.GetAttachedDevices() types, builds, reports, errors = [], [], [], [] fail_step_lst = [] if devices: types, builds, reports, errors, fail_step_lst = (zip( *[DeviceInfo(dev, options) for dev in devices])) err_msg = CheckForMissingDevices(options, devices) or [] unique_types = list(set(types)) unique_builds = list(set(builds)) buildbot_report.PrintMsg('Online devices: %d. Device types %s, builds %s' % (len(devices), unique_types, unique_builds)) print '\n'.join(reports) for serial, dev_errors in zip(devices, errors): if dev_errors: err_msg += ['%s errors:' % serial] err_msg += [' %s' % error for error in dev_errors] if err_msg: buildbot_report.PrintWarning() msg = '\n'.join(err_msg) print msg SendDeviceStatusAlert(msg) if False in fail_step_lst: # TODO(navabi): Build fails on device status check step if there exists any # devices with critically low battery or install speed. Remove those devices # from testing, allowing build to continue with good devices. return 1 if not devices: return 1
def main(): parser = optparse.OptionParser() parser.add_option('', '--out-dir', help='Directory where the device path is stored', default=os.path.join(os.path.dirname(__file__), '..', '..', 'out')) options, args = parser.parse_args() if args: parser.error('Unknown options %s' % args) devices = android_commands.GetAttachedDevices() types, builds, reports, errors = [], [], [], [] if devices: types, builds, reports, errors = zip(*[DeviceInfo(dev) for dev in devices]) err_msg = CheckForMissingDevices(options, devices) or [] unique_types = list(set(types)) unique_builds = list(set(builds)) buildbot_report.PrintMsg('Online devices: %d. Device types %s, builds %s' % (len(devices), unique_types, unique_builds)) print '\n'.join(reports) for serial, dev_errors in zip(devices, errors): if dev_errors: err_msg += ['%s errors:' % serial] err_msg += [' %s' % error for error in dev_errors] if err_msg: buildbot_report.PrintWarning() msg = '\n'.join(err_msg) print msg SendDeviceStatusAlert(msg) if not devices: return 1