From: Jeremy Spewock <jspew...@iol.unh.edu> This update to the RFC adds a few more things such as physical devices and virtual devices to the config, driver checks in the smoke tests, and interactive shell handling.
Interactive shells are handled by creating two SSH connections upon connecting to the SUT, one which is for normal non-interactive opertaions and another (using paramiko) that is reserved for interactive shells. This interactive session is stored in the main session of the SUT and can be piloted using the interactive handler. This handler creates a new channel off the session and provides methods for sending commands both blindly and by expecting output. Then, classes are made for individual DPDK applications that use one of these interactive handlers and know how to handle that applications specific behaviors and outputs. Old RFC: * http://patches.dpdk.org/project/dpdk/patch/20230413175415.7683-3-jspew...@iol.unh.edu/ Jeremy Spewock (1): dts: added paramiko to dependencies Jeremy Spewock (1): dts: add smoke tests dts/conf.yaml | 9 + dts/framework/config/__init__.py | 21 +++ dts/framework/config/conf_yaml_schema.json | 32 +++- dts/framework/dts.py | 19 ++- dts/framework/exception.py | 11 ++ dts/framework/remote_session/os_session.py | 6 +- .../remote_session/remote/__init__.py | 28 +++ dts/framework/test_result.py | 13 +- dts/framework/test_suite.py | 24 ++- dts/framework/testbed_model/__init__.py | 5 + .../interactive_apps/__init__.py | 6 + .../interactive_apps/interactive_command.py | 57 +++++++ .../interactive_apps/testpmd_driver.py | 24 +++ dts/framework/testbed_model/node.py | 2 + dts/framework/testbed_model/sut_node.py | 6 + dts/poetry.lock | 160 ++++++++++++++---- dts/pyproject.toml | 1 + dts/tests/TestSuite_smoke_tests.py | 94 ++++++++++ 18 files changed, 472 insertions(+), 46 deletions(-) create mode 100644 dts/framework/testbed_model/interactive_apps/__init__.py create mode 100644 dts/framework/testbed_model/interactive_apps/interactive_command.py create mode 100644 dts/framework/testbed_model/interactive_apps/testpmd_driver.py create mode 100644 dts/tests/TestSuite_smoke_tests.py -- 2.40.1