mbox

[RFC,v3,0/2] add DTS smoke tests

Message ID 20230602151332.6404-2-jspewock@iol.unh.edu (mailing list archive)
Headers

Message

Jeremy Spewock June 2, 2023, 3:13 p.m. UTC
  From: Jeremy Spewock <jspewock@iol.unh.edu>

This update to the RFC addresses comments recieved on the previous about
formatting and implementation. Things that are new to this patch series are:

* New class similar to the RemoteSession that handles interactive remote
sessions
* A keepalive for the interactive SSH session
* Proper paramiko error handling when connecting to the host
* A factory within this new class for creating DPDK applicaiton drivers
* An Enum that represents the different DPDK applications and their
default paths
* Os-agnostic path handling in the SmokeTests test suite
* Stdout and stderr are combined for InteractiveShells
* A way to move the stdout buffer pointer to the end to "empty" the
buffer
* Information gathering moved into respective classes (the test still
exists in the test suite but this can now be removed assuming the new
gathering method is sufficient)

Previous RFCs:
* v2: https://mails.dpdk.org/archives/dev/2023-May/267915.html
* v1: https://mails.dpdk.org/archives/dev/2023-April/266580.html

Jeremy Spewock (2):
  dts: add smoke tests
  dts: added paramiko to dependencies

 dts/conf.yaml                                 |   8 +
 dts/framework/config/__init__.py              |  88 ++++++++++
 dts/framework/config/conf_yaml_schema.json    |  32 +++-
 dts/framework/dts.py                          |  26 ++-
 dts/framework/exception.py                    |  12 ++
 dts/framework/remote_session/__init__.py      |  10 +-
 dts/framework/remote_session/os_session.py    |  34 +++-
 dts/framework/remote_session/posix_session.py |  30 ++++
 .../remote_session/remote/__init__.py         |  12 ++
 .../remote/interactive_remote_session.py      | 113 +++++++++++++
 .../remote/interactive_shell.py               |  98 +++++++++++
 .../remote_session/remote/testpmd_shell.py    |  58 +++++++
 dts/framework/test_result.py                  |  38 ++++-
 dts/framework/test_suite.py                   |  31 +++-
 dts/framework/testbed_model/node.py           |   2 +
 dts/framework/testbed_model/sut_node.py       | 110 +++++++++++-
 dts/poetry.lock                               | 160 ++++++++++++++----
 dts/pyproject.toml                            |   1 +
 dts/tests/TestSuite_smoke_tests.py            | 109 ++++++++++++
 19 files changed, 916 insertions(+), 56 deletions(-)
 create mode 100644 dts/framework/remote_session/remote/interactive_remote_session.py
 create mode 100644 dts/framework/remote_session/remote/interactive_shell.py
 create mode 100644 dts/framework/remote_session/remote/testpmd_shell.py
 create mode 100644 dts/tests/TestSuite_smoke_tests.py