mbox series

[v2,0/7] dts: shell improvements

Message ID 20250314131857.1298247-1-luca.vizzarro@arm.com (mailing list archive)
Headers
Series dts: shell improvements |

Message

Luca Vizzarro March 14, 2025, 1:18 p.m. UTC
Hi there,

sending in a v2, which should also remove the RFC status from v1, as I
believe these changes are now ready as they are.

v2:
- rebased
- added further improvements
- reworked shell registration based on the recent framework
  improvements, e.g. context
- removed multi inheritance to simplify
- added a new pseudo-shell to handle blocking applications

Best,
Luca

Luca Vizzarro (7):
  dts: escape single quotes
  dts: add blocking dpdk app class
  dts: add shells pool
  dts: revert back to a single InteractiveShell
  dts: make shells path dynamic
  dts: remove multi-inheritance classes
  dts: enable shell pooling

 doc/api/dts/framework.remote_session.rst      |   1 +
 .../framework.remote_session.shell_pool.rst   |   8 +
 dts/framework/context.py                      |   2 +
 dts/framework/remote_session/dpdk_app.py      |  80 +++++
 dts/framework/remote_session/dpdk_shell.py    |  21 +-
 .../remote_session/interactive_shell.py       | 302 ++++++++++++++++--
 dts/framework/remote_session/python_shell.py  |  13 +-
 dts/framework/remote_session/shell_pool.py    | 106 ++++++
 .../single_active_interactive_shell.py        | 269 ----------------
 dts/framework/remote_session/testpmd_shell.py |  16 +-
 dts/framework/test_run.py                     |   5 +
 dts/framework/testbed_model/linux_session.py  |   1 +
 .../testbed_model/traffic_generator/scapy.py  |  38 ++-
 .../traffic_generator/traffic_generator.py    |   6 +-
 dts/framework/utils.py                        |  14 -
 15 files changed, 531 insertions(+), 351 deletions(-)
 create mode 100644 doc/api/dts/framework.remote_session.shell_pool.rst
 create mode 100644 dts/framework/remote_session/dpdk_app.py
 create mode 100644 dts/framework/remote_session/shell_pool.py
 delete mode 100644 dts/framework/remote_session/single_active_interactive_shell.py
  

Comments

Patrick Robb April 25, 2025, 3:49 a.m. UTC | #1
Thanks for this series Luca. Dean did a review earlier and I have just done
one so we're almost good to proceed. I should probably apply it and do a
testrun before merging, which should be possible tomorrow (Friday).

I will flag that when I tried to apply the series, git complained of a sha1
issue:

Applying: dts: escape single quotes
Applying: dts: add blocking dpdk app class
Applying: dts: add shells pool
Applying: dts: revert back to a single InteractiveShell
error: sha1 information is lacking or useless
(dts/framework/remote_session/testpmd_shell.py).
error: could not build fake ancestor
Patch failed at 0004 dts: revert back to a single InteractiveShell

From a quick google, it sounds like this can happen when sharing
commits/patches across related repos, when one of the repos has rewritten
history. Maybe this is because sometimes dpdk mainline rewords commits and
then we hard reset off of that... or some other reason - not sure right
now. But in any case it sounds like it's benign and there are some
tricks/workarounds to apply it so it probably won't be an issue. If it is
I'll let you know. :)

Thanks.