Everything looks good to me with the exception of some issues I ran into with terminal codes. Setting TERM=dumb before running fixed it, but we might want to set that inside of DTS since I can't think of a reason why we would need colors or any of the other "fancy" features of the vt220, and setting everything to teletype mode should make our lives easier when parsing output. I think that later on it might make sense to have "CPU" be a device class like NIC or Cryptodev, but that can be revisited once we get closer to interacting with hardware. On Tue, Jan 17, 2023 at 10:49 AM Juraj Linkeš wrote: > Add code needed to run the HelloWorld testcase which just runs the hello > world dpdk application. > > The patchset currently heavily refactors this original DTS code needed > to run the testcase: > * The whole architecture has been redone into more sensible class > hierarchy > * DPDK build on the System under Test > * DPDK eal args construction, app running and shutting down > * SUT hugepage memory configuration > * Test runner > * Test results > * TestSuite class > * Test runner parts interfacing with TestSuite > * The HelloWorld testsuite itself > > The code is divided into sub-packages, some of which are divided > further. > > There patch may need to be divided into smaller chunks. If so, proposals > on where exactly to split it would be very helpful. > > v3: > Finished refactoring everything in this patch, with test suite and test > results being the last parts. > Also changed the directory structure. It's now simplified and the > imports look much better. > I've also many many minor changes such as renaming variables here and > there. > > Juraj Linkeš (10): > dts: add node and os abstractions > dts: add ssh command verification > dts: add dpdk build on sut > dts: add dpdk execution handling > dts: add node memory setup > dts: add test suite module > dts: add hello world testplan > dts: add hello world testsuite > dts: add test suite config and runner > dts: add test results module > > dts/conf.yaml | 19 +- > dts/framework/config/__init__.py | 132 +++++++- > dts/framework/config/arch.py | 57 ++++ > dts/framework/config/conf_yaml_schema.json | 150 ++++++++- > dts/framework/dts.py | 185 ++++++++-- > dts/framework/exception.py | 100 +++++- > dts/framework/logger.py | 24 +- > dts/framework/remote_session/__init__.py | 30 +- > dts/framework/remote_session/linux_session.py | 114 +++++++ > dts/framework/remote_session/os_session.py | 177 ++++++++++ > dts/framework/remote_session/posix_session.py | 221 ++++++++++++ > .../remote_session/remote/__init__.py | 16 + > .../remote_session/remote/remote_session.py | 155 +++++++++ > .../{ => remote}/ssh_session.py | 91 ++++- > .../remote_session/remote_session.py | 95 ------ > dts/framework/settings.py | 79 ++++- > dts/framework/test_result.py | 316 ++++++++++++++++++ > dts/framework/test_suite.py | 254 ++++++++++++++ > dts/framework/testbed_model/__init__.py | 20 +- > dts/framework/testbed_model/dpdk.py | 78 +++++ > dts/framework/testbed_model/hw/__init__.py | 27 ++ > dts/framework/testbed_model/hw/cpu.py | 253 ++++++++++++++ > .../testbed_model/hw/virtual_device.py | 16 + > dts/framework/testbed_model/node.py | 165 +++++++-- > dts/framework/testbed_model/sut_node.py | 261 +++++++++++++++ > dts/framework/utils.py | 39 ++- > dts/test_plans/hello_world_test_plan.rst | 68 ++++ > dts/tests/TestSuite_hello_world.py | 59 ++++ > 28 files changed, 2998 insertions(+), 203 deletions(-) > create mode 100644 dts/framework/config/arch.py > create mode 100644 dts/framework/remote_session/linux_session.py > create mode 100644 dts/framework/remote_session/os_session.py > create mode 100644 dts/framework/remote_session/posix_session.py > create mode 100644 dts/framework/remote_session/remote/__init__.py > create mode 100644 dts/framework/remote_session/remote/remote_session.py > rename dts/framework/remote_session/{ => remote}/ssh_session.py (65%) > delete mode 100644 dts/framework/remote_session/remote_session.py > create mode 100644 dts/framework/test_result.py > create mode 100644 dts/framework/test_suite.py > create mode 100644 dts/framework/testbed_model/dpdk.py > create mode 100644 dts/framework/testbed_model/hw/__init__.py > create mode 100644 dts/framework/testbed_model/hw/cpu.py > create mode 100644 dts/framework/testbed_model/hw/virtual_device.py > create mode 100644 dts/framework/testbed_model/sut_node.py > create mode 100644 dts/test_plans/hello_world_test_plan.rst > create mode 100644 dts/tests/TestSuite_hello_world.py > > -- > 2.30.2 > >