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