| Index: build/android/pylib/android_commands.py
|
| diff --git a/build/android/pylib/android_commands.py b/build/android/pylib/android_commands.py
|
| index 32121432480103f0e071d4488825ebb6b2fc9011..253dc2ba9cfcdef5d743deaf5e0bbe580a05fc0d 100644
|
| --- a/build/android/pylib/android_commands.py
|
| +++ b/build/android/pylib/android_commands.py
|
| @@ -39,6 +39,7 @@ import am_instrument_parser
|
| import errors
|
|
|
| from pylib.device import device_blacklist
|
| +from pylib.device import device_errors
|
|
|
| # Pattern to search for the next whole line of pexpect output and capture it
|
| # into a match group. We can't use ^ and $ for line start end with pexpect,
|
| @@ -387,7 +388,10 @@ class AndroidCommands(object):
|
| def GetExternalStorage(self):
|
| if not self._external_storage:
|
| self._external_storage = self.RunShellCommand('echo $EXTERNAL_STORAGE')[0]
|
| - assert self._external_storage, 'Unable to find $EXTERNAL_STORAGE'
|
| + if not self._external_storage:
|
| + raise device_errors.CommandFailedError(
|
| + ['shell', "'echo $EXTERNAL_STORAGE'"],
|
| + 'Unable to find $EXTERNAL_STORAGE')
|
| return self._external_storage
|
|
|
| def WaitForDevicePm(self):
|
| @@ -648,30 +652,6 @@ class AndroidCommands(object):
|
| raise errors.WaitForResponseTimedOutError(
|
| 'SD card not ready after %s seconds' % timeout_time)
|
|
|
| - def _CheckCommandIsValid(self, command):
|
| - """Raises a ValueError if the command is not valid."""
|
| -
|
| - # A dict of commands the user should not run directly and a mapping to the
|
| - # API they should use instead.
|
| - preferred_apis = {
|
| - 'getprop': 'system_properties[<PROPERTY>]',
|
| - 'setprop': 'system_properties[<PROPERTY>]',
|
| - }
|
| -
|
| - # A dict of commands to methods that may call them.
|
| - whitelisted_callers = {
|
| - 'getprop': 'ProvisionDevices',
|
| - }
|
| -
|
| - base_command = shlex.split(command)[0].strip(';')
|
| - if (base_command in preferred_apis and
|
| - (base_command not in whitelisted_callers or
|
| - whitelisted_callers[base_command] not in [
|
| - f[3] for f in inspect.stack()])):
|
| - error_msg = ('%s should not be run directly. Instead use: %s' %
|
| - (base_command, preferred_apis[base_command]))
|
| - raise ValueError(error_msg)
|
| -
|
| def GetAndroidToolStatusAndOutput(self, command, lib_path=None, *args, **kw):
|
| """Runs a native Android binary, wrapping the command as necessary.
|
|
|
| @@ -724,7 +704,6 @@ class AndroidCommands(object):
|
| Returns:
|
| list containing the lines of output received from running the command
|
| """
|
| - self._CheckCommandIsValid(command)
|
| self._LogShell(command)
|
| if "'" in command:
|
| logging.warning(command + " contains ' quotes")
|
| @@ -1904,7 +1883,6 @@ class AndroidCommands(object):
|
| 'pylib',
|
| 'efficient_android_directory_copy.sh')
|
| self._adb.Push(host_script_path, temp_script_file.name)
|
| - self.EnableAdbRoot
|
| out = self.RunShellCommand(
|
| 'sh %s %s %s' % (temp_script_file.name, source, dest),
|
| timeout_time=120)
|
|
|