[v2,1/5] dts: fix InteractiveShell command prompt filtering
Checks
Commit Message
When sending a command using an instance of InteractiveShell the output
should filter out the trailing shell prompt when returning it. After
every command two shell prompts are summoned. One is consumed as it is
used as a delimiter for the command output. The second one is not
consumed and left for the next command to be sent.
Given that the consumed prompt is merely a delimiter, this should not be
added to the returned output, as it may be mistakenly be interpreted as
the command's own output.
Bugzilla ID: 1411
Fixes: 88489c0501af ("dts: add smoke tests")
Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
---
dts/framework/remote_session/interactive_shell.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -132,11 +132,11 @@ def send_command(self, command: str, prompt: str | None = None) -> str:
self._stdin.flush()
out: str = ""
for line in self._stdout:
- out += line
if prompt in line and not line.rstrip().endswith(
command.rstrip()
): # ignore line that sent command
break
+ out += line
self._logger.debug(f"Got output: {out}")
return out