mbox series

[v3,0/5] dts: Pydantic configuration

Message ID 20241025164337.2175409-1-luca.vizzarro@arm.com (mailing list archive)
Headers
Series dts: Pydantic configuration |

Message

Luca Vizzarro Oct. 25, 2024, 4:43 p.m. UTC
Hi there,

sending a v3 for the pydantic changes.

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 (5):
  dts: add pydantic dependency
  dts: add TestSuiteSpec class and discovery
  dts: use pydantic in the configuration
  dts: remove warlock dependency
  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 -
 dts/conf.yaml                                 |  11 +-
 dts/framework/config/__init__.py              | 844 +++++++++---------
 dts/framework/config/conf_yaml_schema.json    | 458 ----------
 dts/framework/config/types.py                 | 149 ----
 dts/framework/runner.py                       | 139 +--
 dts/framework/settings.py                     | 124 +--
 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     |   4 +-
 dts/framework/testbed_model/port.py           |   4 +-
 dts/framework/testbed_model/posix_session.py  |  10 +-
 dts/framework/testbed_model/sut_node.py       | 182 ++--
 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                               | 370 ++++----
 dts/pyproject.toml                            |   2 +-
 dts/tests/TestSuite_smoke_tests.py            |   2 +-
 23 files changed, 1010 insertions(+), 1539 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