From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B86E945BFF; Mon, 28 Oct 2024 18:51:15 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9761F427A1; Mon, 28 Oct 2024 18:51:15 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mails.dpdk.org (Postfix) with ESMTP id 4C9254279F for ; Mon, 28 Oct 2024 18:51:13 +0100 (CET) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 36EAC497; Mon, 28 Oct 2024 10:51:42 -0700 (PDT) Received: from localhost.localdomain (JR4XG4HTQC.cambridge.arm.com [10.1.31.47]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E53003F66E; Mon, 28 Oct 2024 10:51:11 -0700 (PDT) From: Luca Vizzarro To: dev@dpdk.org Cc: Paul Szczepanek , Patrick Robb , Luca Vizzarro Subject: [PATCH v4 0/8] dts: Pydantic configuration Date: Mon, 28 Oct 2024 17:49:40 +0000 Message-ID: <20241028174949.3283701-1-luca.vizzarro@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240822163941.1390326-1-luca.vizzarro@arm.com> References: <20240822163941.1390326-1-luca.vizzarro@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org 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