<div dir="ltr">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.<div><br></div><div>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. </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jan 17, 2023 at 10:49 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Add code needed to run the HelloWorld testcase which just runs the hello<br>
world dpdk application.<br>
<br>
The patchset currently heavily refactors this original DTS code needed<br>
to run the testcase:<br>
* The whole architecture has been redone into more sensible class<br>
  hierarchy<br>
* DPDK build on the System under Test<br>
* DPDK eal args construction, app running and shutting down<br>
* SUT hugepage memory configuration<br>
* Test runner<br>
* Test results<br>
* TestSuite class<br>
* Test runner parts interfacing with TestSuite<br>
* The HelloWorld testsuite itself<br>
<br>
The code is divided into sub-packages, some of which are divided<br>
further.<br>
<br>
There patch may need to be divided into smaller chunks. If so, proposals<br>
on where exactly to split it would be very helpful.<br>
<br>
v3:<br>
Finished refactoring everything in this patch, with test suite and test<br>
results being the last parts.<br>
Also changed the directory structure. It's now simplified and the<br>
imports look much better.<br>
I've also many many minor changes such as renaming variables here and<br>
there.<br>
<br>
Juraj Linkeš (10):<br>
  dts: add node and os abstractions<br>
  dts: add ssh command verification<br>
  dts: add dpdk build on sut<br>
  dts: add dpdk execution handling<br>
  dts: add node memory setup<br>
  dts: add test suite module<br>
  dts: add hello world testplan<br>
  dts: add hello world testsuite<br>
  dts: add test suite config and runner<br>
  dts: add test results module<br>
<br>
 dts/conf.yaml                                 |  19 +-<br>
 dts/framework/config/__init__.py              | 132 +++++++-<br>
 dts/framework/config/arch.py                  |  57 ++++<br>
 dts/framework/config/conf_yaml_schema.json    | 150 ++++++++-<br>
 dts/framework/dts.py                          | 185 ++++++++--<br>
 dts/framework/exception.py                    | 100 +++++-<br>
 dts/framework/logger.py                       |  24 +-<br>
 dts/framework/remote_session/__init__.py      |  30 +-<br>
 dts/framework/remote_session/linux_session.py | 114 +++++++<br>
 dts/framework/remote_session/os_session.py    | 177 ++++++++++<br>
 dts/framework/remote_session/posix_session.py | 221 ++++++++++++<br>
 .../remote_session/remote/__init__.py         |  16 +<br>
 .../remote_session/remote/remote_session.py   | 155 +++++++++<br>
 .../{ => remote}/ssh_session.py               |  91 ++++-<br>
 .../remote_session/remote_session.py          |  95 ------<br>
 dts/framework/settings.py                     |  79 ++++-<br>
 dts/framework/test_result.py                  | 316 ++++++++++++++++++<br>
 dts/framework/test_suite.py                   | 254 ++++++++++++++<br>
 dts/framework/testbed_model/__init__.py       |  20 +-<br>
 dts/framework/testbed_model/dpdk.py           |  78 +++++<br>
 dts/framework/testbed_model/hw/__init__.py    |  27 ++<br>
 dts/framework/testbed_model/hw/cpu.py         | 253 ++++++++++++++<br>
 .../testbed_model/hw/virtual_device.py        |  16 +<br>
 dts/framework/testbed_model/node.py           | 165 +++++++--<br>
 dts/framework/testbed_model/sut_node.py       | 261 +++++++++++++++<br>
 dts/framework/utils.py                        |  39 ++-<br>
 dts/test_plans/hello_world_test_plan.rst      |  68 ++++<br>
 dts/tests/TestSuite_hello_world.py            |  59 ++++<br>
 28 files changed, 2998 insertions(+), 203 deletions(-)<br>
 create mode 100644 dts/framework/config/arch.py<br>
 create mode 100644 dts/framework/remote_session/linux_session.py<br>
 create mode 100644 dts/framework/remote_session/os_session.py<br>
 create mode 100644 dts/framework/remote_session/posix_session.py<br>
 create mode 100644 dts/framework/remote_session/remote/__init__.py<br>
 create mode 100644 dts/framework/remote_session/remote/remote_session.py<br>
 rename dts/framework/remote_session/{ => remote}/ssh_session.py (65%)<br>
 delete mode 100644 dts/framework/remote_session/remote_session.py<br>
 create mode 100644 dts/framework/test_result.py<br>
 create mode 100644 dts/framework/test_suite.py<br>
 create mode 100644 dts/framework/testbed_model/dpdk.py<br>
 create mode 100644 dts/framework/testbed_model/hw/__init__.py<br>
 create mode 100644 dts/framework/testbed_model/hw/cpu.py<br>
 create mode 100644 dts/framework/testbed_model/hw/virtual_device.py<br>
 create mode 100644 dts/framework/testbed_model/sut_node.py<br>
 create mode 100644 dts/test_plans/hello_world_test_plan.rst<br>
 create mode 100644 dts/tests/TestSuite_hello_world.py<br>
<br>
-- <br>
2.30.2<br>
<br>
</blockquote></div>