[PATCH v6 0/9] dts: Pydantic configuration
Luca Vizzarro
luca.vizzarro at arm.com
Fri Nov 8 12:39:56 CET 2024
Hi there,
sending a v6 for the pydantic changes.
v6:
- rebased
- fixed API doc errors when building outside of the poetry shell
- now re-using a `to_pascal_case` function instead of pydantic's
as this would block generating the docs correctly if pydantic
is missing
v5:
- rebased
- fixed typos
- renamed NodeInfo to OSSessionInfo
- fixed bug on DPDKRemoteTarballConfiguration object
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
Luca Vizzarro (9):
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: fix custom enum behaviour with 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 | 860 ++++++++----------
dts/framework/config/conf_yaml_schema.json | 459 ----------
dts/framework/config/types.py | 149 ---
dts/framework/remote_session/testpmd_shell.py | 3 +-
dts/framework/runner.py | 139 +--
dts/framework/settings.py | 124 +--
dts/framework/test_result.py | 6 +-
dts/framework/test_suite.py | 190 +++-
dts/framework/testbed_model/capability.py | 12 +-
dts/framework/testbed_model/node.py | 15 +-
dts/framework/testbed_model/os_session.py | 27 +-
dts/framework/testbed_model/port.py | 4 +-
dts/framework/testbed_model/posix_session.py | 12 +-
dts/framework/testbed_model/sut_node.py | 204 +++--
dts/framework/testbed_model/topology.py | 14 +-
.../traffic_generator/__init__.py | 4 +-
.../traffic_generator/traffic_generator.py | 2 +-
dts/framework/utils.py | 7 +-
dts/poetry.lock | 423 +++++----
dts/pyproject.toml | 3 +-
dts/tests/TestSuite_smoke_tests.py | 2 +-
27 files changed, 1090 insertions(+), 1800 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
More information about the dev
mailing list