| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 """Environment setup and teardown for remote devices.""" | 5 """Environment setup and teardown for remote devices.""" |
| 6 | 6 |
| 7 import logging | 7 import logging |
| 8 import os | 8 import os |
| 9 import random | 9 import random |
| 10 import sys | 10 import sys |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 self._api_port = args.api_port | 55 self._api_port = args.api_port |
| 56 | 56 |
| 57 self._access_token = '' | 57 self._access_token = '' |
| 58 self._results_path = args.results_path | 58 self._results_path = args.results_path |
| 59 self._remote_device = args.remote_device | 59 self._remote_device = args.remote_device |
| 60 self._remote_device_os = args.remote_device_os | 60 self._remote_device_os = args.remote_device_os |
| 61 self._runner_package = args.runner_package | 61 self._runner_package = args.runner_package |
| 62 self._runner_type = args.runner_type | 62 self._runner_type = args.runner_type |
| 63 self._device = '' | 63 self._device = '' |
| 64 self._verbose_count = args.verbose_count | 64 self._verbose_count = args.verbose_count |
| 65 if (args.device_type != 'Android' |
| 66 and args.device_type != "iOS"): |
| 67 error_func('device-type must be iOS or Android') |
| 68 self._device_type=args.device_type |
| 65 | 69 |
| 66 if not args.trigger and not args.collect: | 70 if not args.trigger and not args.collect: |
| 67 self._trigger = True | 71 self._trigger = True |
| 68 self._collect = True | 72 self._collect = True |
| 69 else: | 73 else: |
| 70 self._trigger = args.trigger | 74 self._trigger = args.trigger |
| 71 self._collect = args.collect | 75 self._collect = args.collect |
| 72 | 76 |
| 73 def SetUp(self): | 77 def SetUp(self): |
| 74 """Set up the test environment.""" | 78 """Set up the test environment.""" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 """Select which device to use.""" | 125 """Select which device to use.""" |
| 122 logging.info('Finding device to run tests on.') | 126 logging.info('Finding device to run tests on.') |
| 123 with appurify_sanitized.SanitizeLogging(self._verbose_count, | 127 with appurify_sanitized.SanitizeLogging(self._verbose_count, |
| 124 logging.WARNING): | 128 logging.WARNING): |
| 125 dev_list_res = appurify_sanitized.api.devices_list(self._access_token) | 129 dev_list_res = appurify_sanitized.api.devices_list(self._access_token) |
| 126 remote_device_helper.TestHttpResponse(dev_list_res, | 130 remote_device_helper.TestHttpResponse(dev_list_res, |
| 127 'Unable to generate access token.') | 131 'Unable to generate access token.') |
| 128 device_list = dev_list_res.json()['response'] | 132 device_list = dev_list_res.json()['response'] |
| 129 random.shuffle(device_list) | 133 random.shuffle(device_list) |
| 130 for device in device_list: | 134 for device in device_list: |
| 131 if device['os_name'] != 'Android': | 135 if device['os_name'] != self._device_type: |
| 132 continue | 136 continue |
| 133 if self._remote_device and device['name'] != self._remote_device: | 137 if self._remote_device and device['name'] != self._remote_device: |
| 134 continue | 138 continue |
| 135 if (self._remote_device_os | 139 if (self._remote_device_os |
| 136 and device['os_version'] != self._remote_device_os): | 140 and device['os_version'] != self._remote_device_os): |
| 137 continue | 141 continue |
| 138 if ((self._remote_device and self._remote_device_os) | 142 if ((self._remote_device and self._remote_device_os) |
| 139 or device['available_devices_count']): | 143 or device['available_devices_count']): |
| 140 logging.info('Found device: %s %s', | 144 logging.info('Found device: %s %s', |
| 141 device['name'], device['os_version']) | 145 device['name'], device['os_version']) |
| 142 return device['device_type_id'] | 146 return device['device_type_id'] |
| 143 self._NoDeviceFound(device_list) | 147 self._NoDeviceFound(device_list) |
| 144 | 148 |
| 145 def _PrintAvailableDevices(self, device_list): | 149 def _PrintAvailableDevices(self, device_list): |
| 146 def compare_devices(a,b): | 150 def compare_devices(a,b): |
| 147 for key in ('os_version', 'name'): | 151 for key in ('os_version', 'name'): |
| 148 c = cmp(a[key], b[key]) | 152 c = cmp(a[key], b[key]) |
| 149 if c: | 153 if c: |
| 150 return c | 154 return c |
| 151 return 0 | 155 return 0 |
| 152 | 156 |
| 153 logging.critical('Available Android Devices:') | 157 logging.critical('Available %s Devices:', self._device_type) |
| 154 android_devices = (d for d in device_list if d['os_name'] == 'Android') | 158 devices = (d for d in device_list if d['os_name'] == self._device_type) |
| 155 for d in sorted(android_devices, compare_devices): | 159 for d in sorted(devices, compare_devices): |
| 156 logging.critical(' %s %s', d['os_version'].ljust(7), d['name']) | 160 logging.critical(' %s %s', d['os_version'].ljust(7), d['name']) |
| 157 | 161 |
| 158 def _NoDeviceFound(self, device_list): | 162 def _NoDeviceFound(self, device_list): |
| 159 self._PrintAvailableDevices(device_list) | 163 self._PrintAvailableDevices(device_list) |
| 160 raise remote_device_helper.RemoteDeviceError('No device found.') | 164 raise remote_device_helper.RemoteDeviceError('No device found.') |
| 161 | 165 |
| 162 @property | 166 @property |
| 163 def device(self): | 167 def device(self): |
| 164 return self._device | 168 return self._device |
| 165 | 169 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 183 def trigger(self): | 187 def trigger(self): |
| 184 return self._trigger | 188 return self._trigger |
| 185 | 189 |
| 186 @property | 190 @property |
| 187 def collect(self): | 191 def collect(self): |
| 188 return self._collect | 192 return self._collect |
| 189 | 193 |
| 190 @property | 194 @property |
| 191 def verbose_count(self): | 195 def verbose_count(self): |
| 192 return self._verbose_count | 196 return self._verbose_count |
| OLD | NEW |