[0/6] dts: add testpmd params and statefulness

Message ID 20240326190422.577028-1-luca.vizzarro@arm.com (mailing list archive)
Headers
Series dts: add testpmd params and statefulness |

Message

Luca Vizzarro March 26, 2024, 7:04 p.m. UTC
  Hello!

Sending in some major work relating to Bugzilla Bug 1371. In a few words
I have created a common data structure to handle command line parameters
for shells. I applied this to the current EalParameters class, and made
it so it's reflected across the interactive shell classes for
consistency. Finally, I have implemented all the testpmd parameters
that are publicly documented in a class, and updated the buffer scatter
test suite to use it. The two statefulness patches are very basic and
hopefully the beginning of tracking some state in each testpmd session.

Here are some things I'd like to discuss about these patches:
- the testpmd params defaults. These are a mix between the declared
  defaults on testpmd doc page and some of which we are aware of. I have
  not used all the defaults declared on the testpmd doc page, because I
  have found some inconsistencies when going through testpmd's source
  code.
- the overall structure of the parameter classes. Each of the parameter
  classes are placed in different files, not following a proper
  structure. I'd be keen to restructure everything, and I am open to
  suggestions.
- most of the docstrings relating to the testpmd parameters class are
  effectively taking from testpmd's doc pages. Would this satisfy our
  needs?
- I've tested the docstrings against Juraj's pending API doc generation
  patches and noticed that union types are not correctly represented
  when these are more than two. Not sure if this is a bug or not, but if
  not, any suggestions on how we could solve this?

Looking forward to hearing your replies!

Best regards,
Luca

Luca Vizzarro (6):
  dts: add parameters data structure
  dts: use Params for interactive shells
  dts: add testpmd shell params
  dts: use testpmd params for scatter test suite
  dts: add statefulness to InteractiveShell
  dts: add statefulness to TestPmdShell

 dts/framework/params.py                       | 232 ++++++
 .../remote_session/interactive_shell.py       |  26 +-
 dts/framework/remote_session/testpmd_shell.py | 680 +++++++++++++++++-
 dts/framework/testbed_model/__init__.py       |   2 +-
 dts/framework/testbed_model/node.py           |   4 +-
 dts/framework/testbed_model/os_session.py     |   4 +-
 dts/framework/testbed_model/sut_node.py       | 106 ++-
 dts/tests/TestSuite_pmd_buffer_scatter.py     |  20 +-
 8 files changed, 972 insertions(+), 102 deletions(-)
 create mode 100644 dts/framework/params.py