[PATCH v5 1/5] dts: fix InteractiveShell command prompt filtering
Nicholas Pratte
npratte at iol.unh.edu
Fri Jun 14 22:05:57 CEST 2024
Tested-by: Nicholas Pratte <npratte at iol.unh.edu>
Reviewed-by: Nicholas Pratte <npratte at iol.unh.edu>
On Thu, Jun 6, 2024 at 5:34 PM Luca Vizzarro <luca.vizzarro at arm.com> wrote:
>
> 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 at arm.com>
> Reviewed-by: Paul Szczepanek <paul.szczepanek at 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
>
More information about the dev
mailing list