Hi there, sending a v4 for the pydantic changes.
v4: - added autodoc_pydantic due to autodoc warnings - fixed pydantic models docstrings - updated docs - refactored DPDKBuildInfo and NodeInfo which didn't belong in configuration v3: - removed the common FrozenModel and configured each BaseModel individually, due to mypy complaints v2: - rebased and merge conflicts resolved: - capabilities patch introducing TestCase has now been combined with TestSuiteSpec - external build patch added more configuration complexity which has been re-worked in pydantic adding exclusion via structured models - split pydantic/warlock dependency chains - deleted the config schema as no longer needed - removed config schema generator - turned all configuration dataclasses into Pydantic BaseModels - refactored - improved docstrings Best, Luca --- Depends-on: series-33590 ("DTS external DPDK build") Luca Vizzarro (8): dts: add pydantic dependency dts: add TestSuiteSpec class and discovery dts: refactor build and node info classes dts: use pydantic in the configuration dts: remove warlock dependency dts: add autodoc pydantic dts: improve configuration API docs dts: use TestSuiteSpec class imports doc/api/dts/conf_yaml_schema.json | 1 - doc/api/dts/framework.config.rst | 6 - doc/api/dts/framework.config.types.rst | 8 - doc/guides/conf.py | 13 + doc/guides/tools/dts.rst | 192 +--- dts/conf.yaml | 11 +- dts/framework/config/__init__.py | 848 ++++++++---------- dts/framework/config/conf_yaml_schema.json | 459 ---------- dts/framework/config/types.py | 149 --- dts/framework/runner.py | 139 +-- dts/framework/settings.py | 124 +-- dts/framework/test_result.py | 4 +- dts/framework/test_suite.py | 189 +++- dts/framework/testbed_model/capability.py | 12 +- dts/framework/testbed_model/node.py | 15 +- dts/framework/testbed_model/os_session.py | 25 +- dts/framework/testbed_model/port.py | 4 +- dts/framework/testbed_model/posix_session.py | 14 +- dts/framework/testbed_model/sut_node.py | 200 +++-- dts/framework/testbed_model/topology.py | 11 +- .../traffic_generator/__init__.py | 4 +- .../traffic_generator/traffic_generator.py | 2 +- dts/framework/utils.py | 2 +- dts/poetry.lock | 423 +++++---- dts/pyproject.toml | 3 +- dts/tests/TestSuite_smoke_tests.py | 2 +- 26 files changed, 1067 insertions(+), 1793 deletions(-) delete mode 120000 doc/api/dts/conf_yaml_schema.json delete mode 100644 doc/api/dts/framework.config.types.rst delete mode 100644 dts/framework/config/conf_yaml_schema.json delete mode 100644 dts/framework/config/types.py -- 2.43.0