[PATCH v1 0/2] Split DTS framework and public API
Paul Szczepanek
paul.szczepanek at arm.com
Wed Sep 10 17:21:01 CEST 2025
Split up framework and public API. All calls in the tests
should go through the public API. This will allow us to change the
framework internals without breaking the tests and also to provide a
stable and smaller API for test writers.
More importantly this will make it easier to non DTS developers to write
tests by being able to more easily find the relevant functionality.
The first patch moves TestPmd related code to the public API. The second
patch updates all tests to use the new API. Further patches will move
more functionality to the public API.
Moving code required fixing some circular dependencies in the framework
and simplifying the capabilities code to allow selection through a
vanilla enum.
The functionality is otherwise unchanged.
Paul Szczepanek (2):
dts: move testpmd into API
dts: update tests to use new API
doc/api/dts/api.capabilities.rst | 8 +
doc/api/dts/api.rst | 20 +
doc/api/dts/api.testpmd.config.rst | 8 +
doc/api/dts/api.testpmd.rst | 15 +
doc/api/dts/api.testpmd.types.rst | 8 +
doc/api/dts/framework.params.rst | 1 -
doc/api/dts/framework.params.testpmd.rst | 8 -
doc/api/dts/framework.remote_session.rst | 1 -
...framework.remote_session.testpmd_shell.rst | 8 -
doc/api/dts/index.rst | 1 +
doc/guides/tools/dts.rst | 4 +-
dts/api/__init__.py | 14 +
dts/api/capabilities.py | 180 ++
dts/api/testpmd/__init__.py | 1294 ++++++++
.../testpmd.py => api/testpmd/config.py} | 9 +-
dts/api/testpmd/types.py | 1406 ++++++++
dts/framework/config/__init__.py | 3 +-
dts/framework/params/eal.py | 12 +-
dts/framework/params/types.py | 4 +-
dts/framework/remote_session/__init__.py | 43 -
dts/framework/remote_session/testpmd_shell.py | 2844 -----------------
dts/framework/testbed_model/capability.py | 174 +-
dts/framework/testbed_model/linux_session.py | 2 +-
dts/framework/testbed_model/os_session.py | 13 +-
dts/framework/testbed_model/topology.py | 30 +-
dts/tests/TestSuite_blocklist.py | 11 +-
dts/tests/TestSuite_checksum_offload.py | 44 +-
dts/tests/TestSuite_dual_vlan.py | 12 +-
dts/tests/TestSuite_dynamic_config.py | 27 +-
dts/tests/TestSuite_dynamic_queue_conf.py | 29 +-
dts/tests/TestSuite_hello_world.py | 4 +-
dts/tests/TestSuite_l2fwd.py | 18 +-
dts/tests/TestSuite_mac_filter.py | 17 +-
dts/tests/TestSuite_mtu.py | 19 +-
dts/tests/TestSuite_packet_capture.py | 14 +-
dts/tests/TestSuite_pmd_buffer_scatter.py | 19 +-
dts/tests/TestSuite_port_control.py | 21 +-
...stSuite_port_restart_config_persistency.py | 16 +-
dts/tests/TestSuite_port_stats.py | 21 +-
dts/tests/TestSuite_promisc_support.py | 11 +-
dts/tests/TestSuite_queue_start_stop.py | 24 +-
dts/tests/TestSuite_rte_flow.py | 36 +-
dts/tests/TestSuite_smoke_tests.py | 11 +-
dts/tests/TestSuite_softnic.py | 18 +-
dts/tests/TestSuite_uni_pkt.py | 35 +-
dts/tests/TestSuite_vlan.py | 26 +-
46 files changed, 3371 insertions(+), 3172 deletions(-)
create mode 100644 doc/api/dts/api.capabilities.rst
create mode 100644 doc/api/dts/api.rst
create mode 100644 doc/api/dts/api.testpmd.config.rst
create mode 100644 doc/api/dts/api.testpmd.rst
create mode 100644 doc/api/dts/api.testpmd.types.rst
delete mode 100644 doc/api/dts/framework.params.testpmd.rst
delete mode 100644 doc/api/dts/framework.remote_session.testpmd_shell.rst
create mode 100644 dts/api/__init__.py
create mode 100644 dts/api/capabilities.py
create mode 100644 dts/api/testpmd/__init__.py
rename dts/{framework/params/testpmd.py => api/testpmd/config.py} (98%)
create mode 100644 dts/api/testpmd/types.py
delete mode 100644 dts/framework/remote_session/testpmd_shell.py
--
2.39.5
More information about the dev
mailing list