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 -- 2.34.1