mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-01-19 04:21:17 +00:00
ssh: fixing rasing of CalledProcessErrorWithStderr
CalledProcessErrorWithStderr is a subclass of CalledProcessError that also takes stderr output. Both that and normal output must be passed as keyword arguments. They were being passed as keyword arguments inside _scp() of SshConnection, causing cryptic errors to appear. Additionally, "output" was not being properly poped off before invoking super's init.
This commit is contained in:
parent
fe259dca05
commit
4ea4bc8631
@ -85,6 +85,7 @@ class TimeoutError(Exception):
|
||||
class CalledProcessErrorWithStderr(CalledProcessError):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.output = kwargs.pop("output")
|
||||
self.error = kwargs.pop("error")
|
||||
super(CalledProcessErrorWithStderr, self).__init__(*args, **kwargs)
|
||||
|
||||
|
@ -245,7 +245,8 @@ class SshShell(object):
|
||||
except subprocess.CalledProcessError as e:
|
||||
raise CalledProcessErrorWithStderr(e.returncode,
|
||||
e.cmd.replace(pass_string, ''),
|
||||
e.output, getattr(e, 'error', ''))
|
||||
output=e.output,
|
||||
error=getattr(e, 'error', ''))
|
||||
except TimeoutError as e:
|
||||
raise TimeoutError(e.command.replace(pass_string, ''), e.output)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user