1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-06 19:01:15 +01:00

Merge pull request #186 from setrofim/master

LinuxDevice: error output for pull/push_file
This commit is contained in:
Sebastian Goscik 2016-06-29 13:39:02 +01:00 committed by GitHub
commit ef919a0fa9
3 changed files with 11 additions and 4 deletions

View File

@ -325,7 +325,6 @@ def adb_shell(device, command, timeout=None, check_exit_code=False, as_root=Fals
output, _ = check_output(full_command, timeout, shell=True)
except CalledProcessErrorWithStderr as e:
output = e.output
error = e.error
exit_code = e.returncode
if e.returncode == 1:
logger.debug("Got Exit code 1, could be either the return code of the command or mean ADB failed")

View File

@ -88,6 +88,12 @@ class CalledProcessErrorWithStderr(CalledProcessError):
self.error = kwargs.pop("error")
super(CalledProcessErrorWithStderr, self).__init__(*args, **kwargs)
def __str__(self):
return '{}\nSTDOUT: {}\nSTDERR:{}'.format(CalledProcessError.__str__(self),
self.output, self.error)
__repr__ = __str__
def check_output(command, timeout=None, ignore=None, **kwargs):
"""This is a version of subprocess.check_output that adds a timeout parameter to kill

View File

@ -26,8 +26,8 @@ import shutil
from pexpect import EOF, TIMEOUT, spawn, pxssh
from wlauto.exceptions import HostError, DeviceError, TimeoutError, ConfigError
from wlauto.utils.misc import which, strip_bash_colors, escape_single_quotes, check_output
from wlauto.utils.misc import (which, strip_bash_colors, escape_single_quotes, check_output,
CalledProcessErrorWithStderr)
ssh = None
scp = None
@ -243,7 +243,9 @@ class SshShell(object):
try:
check_output(command, timeout=timeout, shell=True)
except subprocess.CalledProcessError as e:
raise subprocess.CalledProcessError(e.returncode, e.cmd.replace(pass_string, ''), e.output)
raise CalledProcessErrorWithStderr(e.returncode,
e.cmd.replace(pass_string, ''),
e.output, getattr(e, 'error', ''))
except TimeoutError as e:
raise TimeoutError(e.command.replace(pass_string, ''), e.output)