mirror of
https://github.com/ARM-software/workload-automation.git
synced 2025-02-21 20:38:57 +00:00
Fix: properly handle carriage return stripping in ssh.
This commit is contained in:
parent
97efd11b86
commit
e87e4c582c
@ -149,7 +149,8 @@ class SshShell(object):
|
|||||||
timed_out = not self.conn.prompt(timeout)
|
timed_out = not self.conn.prompt(timeout)
|
||||||
# the regex removes line breaks potentiall introduced when writing
|
# the regex removes line breaks potentiall introduced when writing
|
||||||
# command to shell.
|
# command to shell.
|
||||||
command_index = re.sub(r' \r([^\n])', r'\1', self.conn.before).find(command)
|
output = re.sub(r' \r([^\n])', r'\1', self.conn.before)
|
||||||
|
command_index = output.find(command)
|
||||||
while not timed_out and command_index == -1:
|
while not timed_out and command_index == -1:
|
||||||
# In case of a "premature" timeout (i.e. timeout, but no hang,
|
# In case of a "premature" timeout (i.e. timeout, but no hang,
|
||||||
# so command completes afterwards), there may be a prompt from
|
# so command completes afterwards), there may be a prompt from
|
||||||
@ -157,9 +158,9 @@ class SshShell(object):
|
|||||||
# checks for this case by making sure that the original command
|
# checks for this case by making sure that the original command
|
||||||
# is present in the serial output and waiting for the next
|
# is present in the serial output and waiting for the next
|
||||||
# prompt if it is not.
|
# prompt if it is not.
|
||||||
timed_out = not self.conn.prompt(timeout)
|
output = re.sub(r' \r([^\n])', r'\1', self.conn.before)
|
||||||
command_index = re.sub(r' \r([^\n])', r'\1', self.conn.before).find(command)
|
command_index = output.find(command)
|
||||||
output = self.conn.before[command_index + len(command):].strip()
|
output = output[command_index + len(command):].strip()
|
||||||
if timed_out:
|
if timed_out:
|
||||||
raise TimeoutError(command, output)
|
raise TimeoutError(command, output)
|
||||||
if strip_colors:
|
if strip_colors:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user