OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 """Provides an interface to communicate with the device via the adb command. | 5 """Provides an interface to communicate with the device via the adb command. |
6 | 6 |
7 Assumes adb binary is currently on system path. | 7 Assumes adb binary is currently on system path. |
8 """ | 8 """ |
9 # pylint: disable-all | 9 # pylint: skip-file |
10 | 10 |
11 import collections | 11 import collections |
12 import datetime | 12 import datetime |
13 import inspect | 13 import inspect |
14 import logging | 14 import logging |
15 import os | 15 import os |
16 import random | 16 import random |
17 import re | 17 import re |
18 import shlex | 18 import shlex |
19 import signal | 19 import signal |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 class AndroidCommands(object): | 307 class AndroidCommands(object): |
308 """Helper class for communicating with Android device via adb.""" | 308 """Helper class for communicating with Android device via adb.""" |
309 | 309 |
310 def __init__(self, device=None): | 310 def __init__(self, device=None): |
311 """Constructor. | 311 """Constructor. |
312 | 312 |
313 Args: | 313 Args: |
314 device: If given, adb commands are only send to the device of this ID. | 314 device: If given, adb commands are only send to the device of this ID. |
315 Otherwise commands are sent to all attached devices. | 315 Otherwise commands are sent to all attached devices. |
316 """ | 316 """ |
317 adb_dir = os.path.dirname(constants.GetAdbPath()) | 317 self._adb = adb_interface.AdbInterface(constants.GetAdbPath()) |
318 if adb_dir and adb_dir not in os.environ['PATH'].split(os.pathsep): | |
319 # Required by third_party/android_testrunner to call directly 'adb'. | |
320 os.environ['PATH'] += os.pathsep + adb_dir | |
321 self._adb = adb_interface.AdbInterface() | |
322 if device: | 318 if device: |
323 self._adb.SetTargetSerial(device) | 319 self._adb.SetTargetSerial(device) |
324 self._device = device | 320 self._device = device |
325 self._logcat = None | 321 self._logcat = None |
326 self.logcat_process = None | 322 self.logcat_process = None |
327 self._logcat_tmpoutfile = None | 323 self._logcat_tmpoutfile = None |
328 self._pushed_files = [] | 324 self._pushed_files = [] |
329 self._device_utc_offset = None | 325 self._device_utc_offset = None |
330 self._potential_push_size = 0 | 326 self._potential_push_size = 0 |
331 self._actual_push_size = 0 | 327 self._actual_push_size = 0 |
(...skipping 1634 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1966 """ | 1962 """ |
1967 def __init__(self, output): | 1963 def __init__(self, output): |
1968 self._output = output | 1964 self._output = output |
1969 | 1965 |
1970 def write(self, data): | 1966 def write(self, data): |
1971 data = data.replace('\r\r\n', '\n') | 1967 data = data.replace('\r\r\n', '\n') |
1972 self._output.write(data) | 1968 self._output.write(data) |
1973 | 1969 |
1974 def flush(self): | 1970 def flush(self): |
1975 self._output.flush() | 1971 self._output.flush() |
OLD | NEW |