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 2791345BCB; Fri, 25 Oct 2024 18:43:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8C07140264; Fri, 25 Oct 2024 18:43:45 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mails.dpdk.org (Postfix) with ESMTP id 4CCEC40156 for ; Fri, 25 Oct 2024 18:43:44 +0200 (CEST) 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 5B35F339; Fri, 25 Oct 2024 09:44:13 -0700 (PDT) Received: from localhost.localdomain (unknown [10.57.57.187]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id DB6F63F71E; Fri, 25 Oct 2024 09:43:42 -0700 (PDT) From: Luca Vizzarro To: dev@dpdk.org Cc: Paul Szczepanek , Patrick Robb , Luca Vizzarro Subject: [PATCH v3 0/5] dts: Pydantic configuration Date: Fri, 25 Oct 2024 17:43:32 +0100 Message-ID: <20241025164337.2175409-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 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 -- 2.43.0