From: Dean Marx <dmarx@iol.unh.edu>
To: patrickrobb1997@gmail.com, luca.vizzarro@arm.com,
yoan.picchi@foss.arm.com, Honnappa.Nagarahalli@arm.com,
paul.szczepanek@arm.com
Cc: dev@dpdk.org, Dean Marx <dmarx@iol.unh.edu>
Subject: [PATCH v4 0/7] dts: move test suite imports from framework to API
Date: Tue, 28 Apr 2026 14:08:33 -0400 [thread overview]
Message-ID: <20260428180840.18596-1-dmarx@iol.unh.edu> (raw)
In-Reply-To: <20260424170139.20592-1-dmarx@iol.unh.edu>
This series moves various modules from the framework directory
to the API based on which are being imported by test suites.
These include:
- test_suite
- testbed_model
- exception
- utils
- context
- params
This eliminates all test suite framework imports except for
the remote_session imports in packet_capture, as well
as the settings/config imports in smoke_tests. I believe these
imports, and what to do with them, should be a topic of discussion
in future DTS meetings, as I don't believe they should reside in the
API, even if they are being imported in test suites.
In addition to these changes, I've split the linux_session module
into an interface in api/testbed_model/linux_session and an
implementation in framework/linux_session. This way, users
can still import linux session if necessary, without exposing
the backend implementation.
Signed-off-by: Dean Marx <dmarx@iol.unh.edu>
---
v2:
* Integrated rst updates with corresponding commits for build testing
v3:
* Fixed commit ordering to resolve import inconsistency
* Updated Linux Session interface with test suite methods
v4:
* Added missing SPDX tag to framework.linux_session.rst
* Added lazy linux session import in node.py to
resolve circular import issue
Dean Marx (7):
dts: move exception module from framework to API
dts: move utils from framework to API
dts: move context from framework to API
dts: move testbed model from framework to API
dts: move test suite module from framework to API
dts: move params directory from framework to API
dts: separate Linux session into interface and logic
...{framework.context.rst => api.context.rst} | 2 +-
...mework.exception.rst => api.exception.rst} | 2 +-
...work.params.eal.rst => api.params.eal.rst} | 2 +-
.../{framework.params.rst => api.params.rst} | 6 +--
....params.types.rst => api.params.types.rst} | 2 +-
...work.test_suite.rst => api.test_suite.rst} | 2 +-
...y.rst => api.testbed_model.capability.rst} | 2 +-
...odel.cpu.rst => api.testbed_model.cpu.rst} | 2 +-
...st => api.testbed_model.linux_session.rst} | 2 +-
...el.node.rst => api.testbed_model.node.rst} | 2 +-
...n.rst => api.testbed_model.os_session.rst} | 2 +-
...el.port.rst => api.testbed_model.port.rst} | 2 +-
...st => api.testbed_model.posix_session.rst} | 2 +-
doc/api/dts/api.testbed_model.rst | 28 +++++++++++++
...ogy.rst => api.testbed_model.topology.rst} | 2 +-
...generator.capturing_traffic_generator.rst} | 2 +-
.../api.testbed_model.traffic_generator.rst | 16 ++++++++
...testbed_model.traffic_generator.scapy.rst} | 2 +-
...l.traffic_generator.traffic_generator.rst} | 2 +-
...t => api.testbed_model.virtual_device.rst} | 2 +-
.../{framework.utils.rst => api.utils.rst} | 2 +-
doc/api/dts/framework.linux_session.rst | 8 ++++
doc/api/dts/framework.testbed_model.rst | 28 -------------
...mework.testbed_model.traffic_generator.rst | 16 --------
doc/api/dts/index.rst | 13 +++---
dts/api/artifact.py | 6 +--
dts/api/capabilities.py | 14 +++----
dts/{framework => api}/context.py | 14 +++----
dts/api/cryptodev/__init__.py | 6 +--
dts/api/cryptodev/config.py | 6 +--
dts/{framework => api}/exception.py | 0
dts/api/packet.py | 18 ++++----
dts/{framework => api}/params/__init__.py | 0
dts/{framework => api}/params/eal.py | 8 ++--
dts/{framework => api}/params/types.py | 14 ++++---
dts/api/test.py | 4 +-
dts/{framework => api}/test_suite.py | 15 ++++---
.../testbed_model/__init__.py | 0
.../testbed_model/capability.py | 18 ++++----
dts/{framework => api}/testbed_model/cpu.py | 4 +-
dts/api/testbed_model/linux_session.py | 41 +++++++++++++++++++
dts/{framework => api}/testbed_model/node.py | 12 +++---
.../testbed_model/os_session.py | 8 ++--
dts/{framework => api}/testbed_model/port.py | 2 +-
.../testbed_model/posix_session.py | 6 +--
.../testbed_model/topology.py | 20 ++++-----
.../traffic_generator/__init__.py | 4 +-
.../capturing_traffic_generator.py | 4 +-
.../performance_traffic_generator.py | 0
.../testbed_model/traffic_generator/scapy.py | 14 +++----
.../traffic_generator/traffic_generator.py | 8 ++--
.../testbed_model/traffic_generator/trex.py | 16 ++++----
.../testbed_model/virtual_device.py | 0
dts/api/testpmd/__init__.py | 11 +++--
dts/api/testpmd/config.py | 6 +--
dts/api/testpmd/types.py | 2 +-
dts/{framework => api}/utils.py | 2 +-
dts/framework/config/__init__.py | 6 +--
dts/framework/config/node.py | 2 +-
dts/framework/config/test_run.py | 12 +++---
.../{testbed_model => }/linux_session.py | 15 ++++---
dts/framework/parser.py | 2 +-
dts/framework/remote_session/blocking_app.py | 8 ++--
dts/framework/remote_session/dpdk.py | 16 ++++----
dts/framework/remote_session/dpdk_shell.py | 6 +--
.../interactive_remote_session.py | 2 +-
.../remote_session/interactive_shell.py | 8 ++--
.../remote_session/remote_session.py | 4 +-
dts/framework/runner.py | 4 +-
dts/framework/test_result.py | 5 +--
dts/framework/test_run.py | 24 +++++------
dts/tests/TestSuite_blocklist.py | 4 +-
dts/tests/TestSuite_checksum_offload.py | 2 +-
dts/tests/TestSuite_cryptodev_throughput.py | 8 ++--
dts/tests/TestSuite_dual_vlan.py | 2 +-
dts/tests/TestSuite_dynamic_config.py | 2 +-
dts/tests/TestSuite_dynamic_queue_conf.py | 4 +-
dts/tests/TestSuite_hello_world.py | 2 +-
dts/tests/TestSuite_l2fwd.py | 8 ++--
dts/tests/TestSuite_mac_filter.py | 4 +-
dts/tests/TestSuite_mtu.py | 2 +-
dts/tests/TestSuite_packet_capture.py | 12 +++---
dts/tests/TestSuite_pmd_buffer_scatter.py | 2 +-
dts/tests/TestSuite_pmd_rss.py | 6 +--
dts/tests/TestSuite_port_control.py | 2 +-
...stSuite_port_restart_config_persistency.py | 2 +-
dts/tests/TestSuite_port_stats.py | 2 +-
dts/tests/TestSuite_promisc_support.py | 2 +-
dts/tests/TestSuite_qinq.py | 2 +-
dts/tests/TestSuite_queue_start_stop.py | 2 +-
dts/tests/TestSuite_rte_flow.py | 12 +++---
dts/tests/TestSuite_rx_tx_offload.py | 2 +-
.../TestSuite_single_core_forward_perf.py | 4 +-
dts/tests/TestSuite_smoke_tests.py | 6 +--
dts/tests/TestSuite_softnic.py | 6 +--
dts/tests/TestSuite_uni_pkt.py | 2 +-
dts/tests/TestSuite_virtio_fwd.py | 8 ++--
dts/tests/TestSuite_vlan.py | 2 +-
98 files changed, 359 insertions(+), 301 deletions(-)
rename doc/api/dts/{framework.context.rst => api.context.rst} (80%)
rename doc/api/dts/{framework.exception.rst => api.exception.rst} (77%)
rename doc/api/dts/{framework.params.eal.rst => api.params.eal.rst} (79%)
rename doc/api/dts/{framework.params.rst => api.params.rst} (71%)
rename doc/api/dts/{framework.params.types.rst => api.params.types.rst} (80%)
rename doc/api/dts/{framework.test_suite.rst => api.test_suite.rst} (81%)
rename doc/api/dts/{framework.testbed_model.capability.rst => api.testbed_model.capability.rst} (74%)
rename doc/api/dts/{framework.testbed_model.cpu.rst => api.testbed_model.cpu.rst} (78%)
rename doc/api/dts/{framework.testbed_model.linux_session.rst => api.testbed_model.linux_session.rst} (74%)
rename doc/api/dts/{framework.testbed_model.node.rst => api.testbed_model.node.rst} (71%)
rename doc/api/dts/{framework.testbed_model.os_session.rst => api.testbed_model.os_session.rst} (76%)
rename doc/api/dts/{framework.testbed_model.port.rst => api.testbed_model.port.rst} (77%)
rename doc/api/dts/{framework.testbed_model.posix_session.rst => api.testbed_model.posix_session.rst} (74%)
create mode 100644 doc/api/dts/api.testbed_model.rst
rename doc/api/dts/{framework.testbed_model.topology.rst => api.testbed_model.topology.rst} (73%)
rename doc/api/dts/{framework.testbed_model.traffic_generator.capturing_traffic_generator.rst => api.testbed_model.traffic_generator.capturing_traffic_generator.rst} (68%)
create mode 100644 doc/api/dts/api.testbed_model.traffic_generator.rst
rename doc/api/dts/{framework.testbed_model.traffic_generator.scapy.rst => api.testbed_model.traffic_generator.scapy.rst} (70%)
rename doc/api/dts/{framework.testbed_model.traffic_generator.traffic_generator.rst => api.testbed_model.traffic_generator.traffic_generator.rst} (65%)
rename doc/api/dts/{framework.testbed_model.virtual_device.rst => api.testbed_model.virtual_device.rst} (72%)
rename doc/api/dts/{framework.utils.rst => api.utils.rst} (80%)
create mode 100644 doc/api/dts/framework.linux_session.rst
delete mode 100644 doc/api/dts/framework.testbed_model.rst
delete mode 100644 doc/api/dts/framework.testbed_model.traffic_generator.rst
rename dts/{framework => api}/context.py (90%)
rename dts/{framework => api}/exception.py (100%)
rename dts/{framework => api}/params/__init__.py (100%)
rename dts/{framework => api}/params/eal.py (89%)
rename dts/{framework => api}/params/types.py (94%)
rename dts/{framework => api}/test_suite.py (98%)
rename dts/{framework => api}/testbed_model/__init__.py (100%)
rename dts/{framework => api}/testbed_model/capability.py (98%)
rename dts/{framework => api}/testbed_model/cpu.py (99%)
create mode 100644 dts/api/testbed_model/linux_session.py
rename dts/{framework => api}/testbed_model/node.py (96%)
rename dts/{framework => api}/testbed_model/os_session.py (99%)
rename dts/{framework => api}/testbed_model/port.py (98%)
rename dts/{framework => api}/testbed_model/posix_session.py (99%)
rename dts/{framework => api}/testbed_model/topology.py (96%)
rename dts/{framework => api}/testbed_model/traffic_generator/__init__.py (95%)
rename dts/{framework => api}/testbed_model/traffic_generator/capturing_traffic_generator.py (98%)
rename dts/{framework => api}/testbed_model/traffic_generator/performance_traffic_generator.py (100%)
rename dts/{framework => api}/testbed_model/traffic_generator/scapy.py (98%)
rename dts/{framework => api}/testbed_model/traffic_generator/traffic_generator.py (91%)
rename dts/{framework => api}/testbed_model/traffic_generator/trex.py (96%)
rename dts/{framework => api}/testbed_model/virtual_device.py (100%)
rename dts/{framework => api}/utils.py (99%)
rename dts/framework/{testbed_model => }/linux_session.py (97%)
--
2.52.0
next prev parent reply other threads:[~2026-04-28 18:08 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-25 15:53 [PATCH v1 0/4] dts: add dynamic queue configuration test suite jspewock
2024-06-25 15:53 ` [PATCH v1 1/4] dts: add send_packets to test suites and rework packet addressing jspewock
2024-06-25 15:53 ` [PATCH v1 2/4] dts: add port queue modification and forwarding stats to testpmd jspewock
2024-06-25 15:53 ` [PATCH v1 3/4] dts: add dynamic queue test suite jspewock
2024-06-25 15:53 ` [PATCH v1 4/4] dts: add dynamic queue conf to the yaml schema jspewock
2024-07-03 21:58 ` [PATCH v2 0/4] dts: add dynamic queue configuration test suite jspewock
2024-07-03 21:58 ` [PATCH v2 1/4] dts: add send_packets to test suites and rework packet addressing jspewock
2024-07-03 21:58 ` [PATCH v2 2/4] dts: add port queue modification and forwarding stats to testpmd jspewock
2024-07-03 21:58 ` [PATCH v2 3/4] dts: add dynamic queue test suite jspewock
2024-07-03 21:58 ` [PATCH v2 4/4] dts: add dynamic queue conf to the yaml schema jspewock
2024-07-24 15:07 ` [PATCH v3 0/4] dts: add dynamic queue configuration test suite jspewock
2024-07-24 15:07 ` [PATCH v3 1/4] dts: add send_packets to test suites and rework packet addressing jspewock
2024-07-26 14:37 ` Nicholas Pratte
2024-07-26 19:00 ` Nicholas Pratte
2024-07-26 19:13 ` Jeremy Spewock
2024-08-29 19:42 ` Nicholas Pratte
2024-07-24 15:07 ` [PATCH v3 2/4] dts: add port queue modification and forwarding stats to testpmd jspewock
2024-07-24 15:07 ` [PATCH v3 3/4] dts: add dynamic queue test suite jspewock
2024-07-24 15:07 ` [PATCH v3 4/4] dts: add dynamic queue conf to the yaml schema jspewock
2024-09-04 15:49 ` [PATCH v4 0/2] dts: add dynamic queue configuration test suite jspewock
2024-09-04 15:49 ` [PATCH v4 1/2] dts: add port queue modification and forwarding stats to testpmd jspewock
2024-09-04 15:49 ` [PATCH v4 2/2] dts: add dynamic queue test suite jspewock
2024-09-25 19:20 ` [PATCH v5 0/2] dts: add dynamic queue configuration " jspewock
2024-09-25 19:20 ` [PATCH v5 1/2] dts: add port queue modification and forwarding stats to testpmd jspewock
2024-09-25 19:20 ` [PATCH v5 2/2] dts: add dynamic queue test suite jspewock
2024-11-05 16:58 ` [PATCH v6 0/2] dts: add dynamic queue configuration " Dean Marx
2024-11-05 16:58 ` [PATCH v6 1/2] dts: add port queue modification and forwarding stats to testpmd Dean Marx
2024-11-18 23:25 ` Patrick Robb
2024-11-18 23:36 ` Patrick Robb
2024-11-05 16:58 ` [PATCH v6 2/2] dts: add dynamic queue test suite Dean Marx
2024-11-18 23:24 ` Patrick Robb
2024-11-18 23:24 ` Patrick Robb
2026-04-23 17:03 ` [PATCH v1 0/8] dts: move test suite imports from framework to API Dean Marx
2026-04-23 17:03 ` [PATCH v1 1/8] dts: move test suite module " Dean Marx
2026-04-23 17:03 ` [PATCH v1 2/8] dts: move testbed model " Dean Marx
2026-04-23 17:03 ` [PATCH v1 3/8] dts: move exception module " Dean Marx
2026-04-23 17:03 ` [PATCH v1 4/8] dts: move utils " Dean Marx
2026-04-23 17:03 ` [PATCH v1 5/8] dts: move context " Dean Marx
2026-04-23 17:03 ` [PATCH v1 6/8] dts: move params directory " Dean Marx
2026-04-23 17:03 ` [PATCH v1 7/8] dts: separate Linux session into interface and logic Dean Marx
2026-04-23 17:03 ` [PATCH v1 8/8] dts: update API rst files for doc build Dean Marx
2026-04-23 19:04 ` [PATCH v2 0/7] dts: move test suite imports from framework to API Dean Marx
2026-04-23 19:04 ` [PATCH v2 1/7] dts: move test suite module " Dean Marx
2026-04-23 19:04 ` [PATCH v2 2/7] dts: move testbed model " Dean Marx
2026-04-23 19:04 ` [PATCH v2 3/7] dts: move exception module " Dean Marx
2026-04-23 19:04 ` [PATCH v2 4/7] dts: move utils " Dean Marx
2026-04-23 19:04 ` [PATCH v2 5/7] dts: move context " Dean Marx
2026-04-23 19:04 ` [PATCH v2 6/7] dts: move params directory " Dean Marx
2026-04-23 19:04 ` [PATCH v2 7/7] dts: separate Linux session into interface and logic Dean Marx
2026-04-24 17:01 ` [PATCH v3 0/7] dts: move test suite imports from framework to API Dean Marx
2026-04-24 17:01 ` [PATCH v3 1/7] dts: move exception module " Dean Marx
2026-04-24 17:01 ` [PATCH v3 2/7] dts: move utils " Dean Marx
2026-04-24 17:01 ` [PATCH v3 3/7] dts: move context " Dean Marx
2026-04-24 17:01 ` [PATCH v3 4/7] dts: move testbed model " Dean Marx
2026-04-24 17:01 ` [PATCH v3 5/7] dts: move test suite module " Dean Marx
2026-04-24 17:01 ` [PATCH v3 6/7] dts: move params directory " Dean Marx
2026-04-24 17:01 ` [PATCH v3 7/7] dts: separate Linux session into interface and logic Dean Marx
2026-04-28 18:08 ` Dean Marx [this message]
2026-04-28 18:08 ` [PATCH v4 1/7] dts: move exception module from framework to API Dean Marx
2026-04-28 18:08 ` [PATCH v4 2/7] dts: move utils " Dean Marx
2026-04-28 18:08 ` [PATCH v4 3/7] dts: move context " Dean Marx
2026-04-28 18:08 ` [PATCH v4 4/7] dts: move testbed model " Dean Marx
2026-04-28 18:08 ` [PATCH v4 5/7] dts: move test suite module " Dean Marx
2026-04-28 18:08 ` [PATCH v4 6/7] dts: move params directory " Dean Marx
2026-04-28 18:08 ` [PATCH v4 7/7] dts: separate Linux session into interface and logic Dean Marx
2026-04-30 21:09 ` [PATCH v4 0/7] dts: move test suite imports from framework to API Dean Marx
2026-04-30 21:09 ` [PATCH v4 1/7] dts: move exception module " Dean Marx
2026-04-30 21:09 ` [PATCH v4 2/7] dts: move utils " Dean Marx
2026-04-30 21:09 ` [PATCH v4 3/7] dts: move context " Dean Marx
2026-04-30 21:09 ` [PATCH v4 4/7] dts: move testbed model " Dean Marx
2026-04-30 21:09 ` [PATCH v4 5/7] dts: move test suite module " Dean Marx
2026-04-30 21:09 ` [PATCH v4 6/7] dts: move params directory " Dean Marx
2026-04-30 21:09 ` [PATCH v4 7/7] dts: separate Linux session into interface and logic Dean Marx
2026-04-30 22:06 ` [PATCH v4 0/7] dts: move test suite imports from framework to API Dean Marx
2026-04-30 22:06 ` [PATCH v4 1/7] dts: move exception module " Dean Marx
2026-04-30 22:06 ` [PATCH v4 2/7] dts: move utils " Dean Marx
2026-04-30 22:06 ` [PATCH v4 3/7] dts: move context " Dean Marx
2026-04-30 22:06 ` [PATCH v4 4/7] dts: move testbed model " Dean Marx
2026-04-30 22:06 ` [PATCH v4 5/7] dts: move test suite module " Dean Marx
2026-04-30 22:06 ` [PATCH v4 6/7] dts: move params directory " Dean Marx
2026-04-30 22:06 ` [PATCH v4 7/7] dts: separate Linux session into interface and logic Dean Marx
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260428180840.18596-1-dmarx@iol.unh.edu \
--to=dmarx@iol.unh.edu \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=dev@dpdk.org \
--cc=luca.vizzarro@arm.com \
--cc=patrickrobb1997@gmail.com \
--cc=paul.szczepanek@arm.com \
--cc=yoan.picchi@foss.arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox