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.vizza...@arm.com> Reviewed-by: Paul Szczepanek <paul.szczepa...@arm.com> --- dts/framework/remote_session/interactive_shell.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dts/framework/remote_session/interactive_shell.py b/dts/framework/remote_session/interactive_shell.py index 074a541279..aa5d2d9be8 100644 --- a/dts/framework/remote_session/interactive_shell.py +++ b/dts/framework/remote_session/interactive_shell.py @@ -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 -- 2.34.1