| 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 | 
|---|