From patchwork Tue Mar 26 19:04:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Vizzarro X-Patchwork-Id: 810 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 36BA343D5B; Tue, 26 Mar 2024 20:04:33 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BAEE640E72; Tue, 26 Mar 2024 20:04:32 +0100 (CET) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mails.dpdk.org (Postfix) with ESMTP id 548DF40E4A for ; Tue, 26 Mar 2024 20:04:31 +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 6B8162F4; Tue, 26 Mar 2024 12:05:04 -0700 (PDT) Received: from localhost.localdomain (unknown [10.57.16.115]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E32683F64C; Tue, 26 Mar 2024 12:04:29 -0700 (PDT) From: Luca Vizzarro To: dev@dpdk.org Cc: =?utf-8?q?Juraj_Linke=C5=A1?= , Luca Vizzarro Subject: [PATCH 0/6] dts: add testpmd params and statefulness Date: Tue, 26 Mar 2024 19:04:16 +0000 Message-Id: <20240326190422.577028-1-luca.vizzarro@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 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 Hello! Sending in some major work relating to Bugzilla Bug 1371. In a few words I have created a common data structure to handle command line parameters for shells. I applied this to the current EalParameters class, and made it so it's reflected across the interactive shell classes for consistency. Finally, I have implemented all the testpmd parameters that are publicly documented in a class, and updated the buffer scatter test suite to use it. The two statefulness patches are very basic and hopefully the beginning of tracking some state in each testpmd session. Here are some things I'd like to discuss about these patches: - the testpmd params defaults. These are a mix between the declared defaults on testpmd doc page and some of which we are aware of. I have not used all the defaults declared on the testpmd doc page, because I have found some inconsistencies when going through testpmd's source code. - the overall structure of the parameter classes. Each of the parameter classes are placed in different files, not following a proper structure. I'd be keen to restructure everything, and I am open to suggestions. - most of the docstrings relating to the testpmd parameters class are effectively taking from testpmd's doc pages. Would this satisfy our needs? - I've tested the docstrings against Juraj's pending API doc generation patches and noticed that union types are not correctly represented when these are more than two. Not sure if this is a bug or not, but if not, any suggestions on how we could solve this? Looking forward to hearing your replies! Best regards, Luca Luca Vizzarro (6): dts: add parameters data structure dts: use Params for interactive shells dts: add testpmd shell params dts: use testpmd params for scatter test suite dts: add statefulness to InteractiveShell dts: add statefulness to TestPmdShell dts/framework/params.py | 232 ++++++ .../remote_session/interactive_shell.py | 26 +- dts/framework/remote_session/testpmd_shell.py | 680 +++++++++++++++++- dts/framework/testbed_model/__init__.py | 2 +- dts/framework/testbed_model/node.py | 4 +- dts/framework/testbed_model/os_session.py | 4 +- dts/framework/testbed_model/sut_node.py | 106 ++- dts/tests/TestSuite_pmd_buffer_scatter.py | 20 +- 8 files changed, 972 insertions(+), 102 deletions(-) create mode 100644 dts/framework/params.py