| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 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 """Brings in Chrome Android's android_commands module, which itself is a | 4 """Brings in Chrome Android's android_commands module, which itself is a |
| 5 thin(ish) wrapper around adb.""" | 5 thin(ish) wrapper around adb.""" |
| 6 | 6 |
| 7 import logging | 7 import logging |
| 8 import os | 8 import os |
| 9 import shutil | 9 import shutil |
| 10 import stat | 10 import stat |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 | 50 |
| 51 | 51 |
| 52 def ResetTestServerPortAllocation(): | 52 def ResetTestServerPortAllocation(): |
| 53 return ports.ResetTestServerPortAllocation() | 53 return ports.ResetTestServerPortAllocation() |
| 54 | 54 |
| 55 | 55 |
| 56 class AdbCommands(object): | 56 class AdbCommands(object): |
| 57 """A thin wrapper around ADB""" | 57 """A thin wrapper around ADB""" |
| 58 | 58 |
| 59 def __init__(self, device): | 59 def __init__(self, device): |
| 60 self._adb = android_commands.AndroidCommands(device) | 60 self._adb = android_commands.AndroidCommands(device, api_strict_mode=True) |
| 61 self._device = device | 61 self._device = device |
| 62 | 62 |
| 63 def device(self): | 63 def device(self): |
| 64 return self._device | 64 return self._device |
| 65 | 65 |
| 66 @property |
| 67 def system_properties(self): |
| 68 return self._adb.system_properties |
| 69 |
| 66 def Adb(self): | 70 def Adb(self): |
| 67 return self._adb | 71 return self._adb |
| 68 | 72 |
| 69 def Forward(self, local, remote): | 73 def Forward(self, local, remote): |
| 70 ret = self._adb.Adb().SendCommand('forward %s %s' % (local, remote)) | 74 ret = self._adb.Adb().SendCommand('forward %s %s' % (local, remote)) |
| 71 assert ret == '' | 75 assert ret == '' |
| 72 | 76 |
| 73 def RunShellCommand(self, command, timeout_time=20, log_result=False): | 77 def RunShellCommand(self, command, timeout_time=20, log_result=False): |
| 74 """Send a command to the adb shell and return the result. | 78 """Send a command to the adb shell and return the result. |
| 75 | 79 |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 if os.path.join(build_dir, build_type) in path: | 190 if os.path.join(build_dir, build_type) in path: |
| 187 return build_type | 191 return build_type |
| 188 return None | 192 return None |
| 189 | 193 |
| 190 | 194 |
| 191 def SetupPrebuiltTools(adb): | 195 def SetupPrebuiltTools(adb): |
| 192 # TODO(bulach): build the host tools for mac, and the targets for x86/mips. | 196 # TODO(bulach): build the host tools for mac, and the targets for x86/mips. |
| 193 # Prebuilt tools from r226197. | 197 # Prebuilt tools from r226197. |
| 194 has_prebuilt = sys.platform.startswith('linux') | 198 has_prebuilt = sys.platform.startswith('linux') |
| 195 if has_prebuilt: | 199 if has_prebuilt: |
| 196 abi = adb.RunShellCommand('getprop ro.product.cpu.abi') | 200 abi = adb.system_properties['ro.product.cpu.abi'] |
| 197 has_prebuilt = abi and abi[0].startswith('armeabi') | 201 has_prebuilt = abi.startswith('armeabi') |
| 198 if not has_prebuilt: | 202 if not has_prebuilt: |
| 199 logging.error( | 203 logging.error( |
| 200 'Prebuilt android tools only available for Linux host and ARM device.') | 204 'Prebuilt android tools only available for Linux host and ARM device.') |
| 201 return False | 205 return False |
| 202 | 206 |
| 203 prebuilt_tools = [ | 207 prebuilt_tools = [ |
| 204 'forwarder_dist/device_forwarder', | 208 'forwarder_dist/device_forwarder', |
| 205 'host_forwarder', | 209 'host_forwarder', |
| 206 'md5sum_dist/md5sum_bin', | 210 'md5sum_dist/md5sum_bin', |
| 207 'md5sum_bin_host', | 211 'md5sum_bin_host', |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 self._port_pairs = new_port_pairs | 247 self._port_pairs = new_port_pairs |
| 244 forwarder.Forwarder.Map(new_port_pairs, self._adb) | 248 forwarder.Forwarder.Map(new_port_pairs, self._adb) |
| 245 | 249 |
| 246 @property | 250 @property |
| 247 def url(self): | 251 def url(self): |
| 248 return 'http://127.0.0.1:%i' % self._host_port | 252 return 'http://127.0.0.1:%i' % self._host_port |
| 249 | 253 |
| 250 def Close(self): | 254 def Close(self): |
| 251 for (device_port, _) in self._port_pairs: | 255 for (device_port, _) in self._port_pairs: |
| 252 forwarder.Forwarder.UnmapDevicePort(device_port, self._adb) | 256 forwarder.Forwarder.UnmapDevicePort(device_port, self._adb) |
| OLD | NEW |