From: Luca Vizzarro <luca.vizzarro@arm.com>
To: dev@dpdk.org
Cc: "Juraj Linkeš" <juraj.linkes@pantheon.tech>,
"Luca Vizzarro" <luca.vizzarro@arm.com>,
"Jack Bond-Preston" <jack.bond-preston@arm.com>,
"Honnappa Nagarahalli" <honnappa.nagarahalli@arm.com>
Subject: [PATCH 5/6] dts: add statefulness to InteractiveShell
Date: Tue, 26 Mar 2024 19:04:21 +0000 [thread overview]
Message-ID: <20240326190422.577028-6-luca.vizzarro@arm.com> (raw)
In-Reply-To: <20240326190422.577028-1-luca.vizzarro@arm.com>
The InteractiveShell class can be started in privileged mode, but this
is not saved for reference to the tests developer. Moreover, originally
a command timeout could only be set at initialisation, this can now be
amended and reset back as needed.
Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
Reviewed-by: Jack Bond-Preston <jack.bond-preston@arm.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
---
.../remote_session/interactive_shell.py | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/dts/framework/remote_session/interactive_shell.py b/dts/framework/remote_session/interactive_shell.py
index a2c7b30d9f..5d80061e8d 100644
--- a/dts/framework/remote_session/interactive_shell.py
+++ b/dts/framework/remote_session/interactive_shell.py
@@ -41,8 +41,10 @@ class InteractiveShell(ABC):
_stdout: channel.ChannelFile
_ssh_channel: Channel
_logger: DTSLogger
+ __default_timeout: float
_timeout: float
_app_args: Params | None
+ _is_privileged: bool = False
#: Prompt to expect at the end of output when sending a command.
#: This is often overridden by subclasses.
@@ -88,7 +90,7 @@ def __init__(
self._ssh_channel.settimeout(timeout)
self._ssh_channel.set_combine_stderr(True) # combines stdout and stderr streams
self._logger = logger
- self._timeout = timeout
+ self._timeout = self.__default_timeout = timeout
self._app_args = app_args
self._start_application(get_privileged_command)
@@ -105,6 +107,7 @@ def _start_application(self, get_privileged_command: Callable[[str], str] | None
start_command = f"{self.path} {self._app_args or ''}"
if get_privileged_command is not None:
start_command = get_privileged_command(start_command)
+ self._is_privileged = True
self.send_command(start_command)
def send_command(self, command: str, prompt: str | None = None) -> str:
@@ -150,3 +153,16 @@ def close(self) -> None:
def __del__(self) -> None:
"""Make sure the session is properly closed before deleting the object."""
self.close()
+
+ @property
+ def is_privileged(self) -> bool:
+ """Property specifying if the interactive shell is running in privileged mode."""
+ return self._is_privileged
+
+ def set_timeout(self, timeout: float):
+ """Set the timeout to use with the next commands."""
+ self._timeout = timeout
+
+ def reset_timeout(self):
+ """Reset the timeout to the default setting."""
+ self._timeout = self.__default_timeout
--
2.34.1
next prev parent reply other threads:[~2024-03-26 19:05 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-26 19:04 [PATCH 0/6] dts: add testpmd params and statefulness Luca Vizzarro
2024-03-26 19:04 ` [PATCH 1/6] dts: add parameters data structure Luca Vizzarro
2024-03-28 16:48 ` Jeremy Spewock
2024-04-09 15:52 ` Luca Vizzarro
2024-04-09 12:10 ` Juraj Linkeš
2024-04-09 16:28 ` Luca Vizzarro
2024-04-10 9:15 ` Juraj Linkeš
2024-04-10 9:51 ` Luca Vizzarro
2024-04-10 10:04 ` Juraj Linkeš
2024-03-26 19:04 ` [PATCH 2/6] dts: use Params for interactive shells Luca Vizzarro
2024-03-28 16:48 ` Jeremy Spewock
2024-04-09 14:56 ` Juraj Linkeš
2024-04-10 9:34 ` Luca Vizzarro
2024-04-10 9:58 ` Juraj Linkeš
2024-03-26 19:04 ` [PATCH 3/6] dts: add testpmd shell params Luca Vizzarro
2024-03-28 16:48 ` Jeremy Spewock
2024-04-09 16:37 ` Juraj Linkeš
2024-04-10 10:49 ` Luca Vizzarro
2024-04-10 13:17 ` Juraj Linkeš
2024-03-26 19:04 ` [PATCH 4/6] dts: use testpmd params for scatter test suite Luca Vizzarro
2024-04-09 19:12 ` Juraj Linkeš
2024-04-10 10:53 ` Luca Vizzarro
2024-04-10 13:18 ` Juraj Linkeš
2024-04-26 18:06 ` Jeremy Spewock
2024-04-29 7:45 ` Juraj Linkeš
2024-03-26 19:04 ` Luca Vizzarro [this message]
2024-03-28 16:48 ` [PATCH 5/6] dts: add statefulness to InteractiveShell Jeremy Spewock
2024-04-10 6:53 ` Juraj Linkeš
2024-04-10 11:27 ` Luca Vizzarro
2024-04-10 13:35 ` Juraj Linkeš
2024-04-10 14:07 ` Luca Vizzarro
2024-04-12 12:33 ` Juraj Linkeš
2024-04-29 14:48 ` Jeremy Spewock
2024-03-26 19:04 ` [PATCH 6/6] dts: add statefulness to TestPmdShell Luca Vizzarro
2024-03-28 16:48 ` Jeremy Spewock
2024-04-10 7:41 ` Juraj Linkeš
2024-04-10 11:35 ` Luca Vizzarro
2024-04-11 10:30 ` Juraj Linkeš
2024-04-11 11:47 ` Luca Vizzarro
2024-04-11 12:13 ` Juraj Linkeš
2024-04-11 13:59 ` Luca Vizzarro
2024-04-26 18:06 ` Jeremy Spewock
2024-04-29 12:06 ` Juraj Linkeš
2024-04-10 7:50 ` Juraj Linkeš
2024-04-10 11:37 ` Luca Vizzarro
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240326190422.577028-6-luca.vizzarro@arm.com \
--to=luca.vizzarro@arm.com \
--cc=dev@dpdk.org \
--cc=honnappa.nagarahalli@arm.com \
--cc=jack.bond-preston@arm.com \
--cc=juraj.linkes@pantheon.tech \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).