| 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: disable-all |
| 10 | 10 |
| (...skipping 695 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 706 timeout_time: Number of seconds to wait for command to respond before | 706 timeout_time: Number of seconds to wait for command to respond before |
| 707 retrying, used by AdbInterface.SendShellCommand. | 707 retrying, used by AdbInterface.SendShellCommand. |
| 708 log_result: Boolean to indicate whether we should log the result of the | 708 log_result: Boolean to indicate whether we should log the result of the |
| 709 shell command. | 709 shell command. |
| 710 | 710 |
| 711 Returns: | 711 Returns: |
| 712 list containing the lines of output received from running the command | 712 list containing the lines of output received from running the command |
| 713 """ | 713 """ |
| 714 self._LogShell(command) | 714 self._LogShell(command) |
| 715 if "'" in command: | 715 if "'" in command: |
| 716 logging.warning(command + " contains ' quotes") | 716 command = command.replace('\'', '\'\\\'\'') |
| 717 result = self._adb.SendShellCommand( | 717 result = self._adb.SendShellCommand( |
| 718 "'%s'" % command, timeout_time).splitlines() | 718 "'%s'" % command, timeout_time).splitlines() |
| 719 # TODO(b.kelemen): we should really be able to drop the stderr of the | 719 # TODO(b.kelemen): we should really be able to drop the stderr of the |
| 720 # command or raise an exception based on what the caller wants. | 720 # command or raise an exception based on what the caller wants. |
| 721 result = [ l for l in result if not l.startswith('WARNING') ] | 721 result = [ l for l in result if not l.startswith('WARNING') ] |
| 722 if ['error: device not found'] == result: | 722 if ['error: device not found'] == result: |
| 723 raise errors.DeviceUnresponsiveError('device not found') | 723 raise errors.DeviceUnresponsiveError('device not found') |
| 724 if log_result: | 724 if log_result: |
| 725 self._LogShell('\n'.join(result)) | 725 self._LogShell('\n'.join(result)) |
| 726 return result | 726 return result |
| (...skipping 1225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1952 """ | 1952 """ |
| 1953 def __init__(self, output): | 1953 def __init__(self, output): |
| 1954 self._output = output | 1954 self._output = output |
| 1955 | 1955 |
| 1956 def write(self, data): | 1956 def write(self, data): |
| 1957 data = data.replace('\r\r\n', '\n') | 1957 data = data.replace('\r\r\n', '\n') |
| 1958 self._output.write(data) | 1958 self._output.write(data) |
| 1959 | 1959 |
| 1960 def flush(self): | 1960 def flush(self): |
| 1961 self._output.flush() | 1961 self._output.flush() |
| OLD | NEW |