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 66F3D41C53; Thu, 9 Feb 2023 17:48:00 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 53F5E42670; Thu, 9 Feb 2023 17:48:00 +0100 (CET) Received: from mail-oi1-f169.google.com (mail-oi1-f169.google.com [209.85.167.169]) by mails.dpdk.org (Postfix) with ESMTP id 78C374161A for ; Thu, 9 Feb 2023 17:47:58 +0100 (CET) Received: by mail-oi1-f169.google.com with SMTP id cz14so2115091oib.12 for ; Thu, 09 Feb 2023 08:47:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=nGbPoGAGcdy55aM0Ov8Ey0itL0JzFj0IJAzYN4SZxkk=; b=idFk/4laWcviHpJp5gdaLlHG7vaOcsfad4vX8Q5Mcr0zfpCusywusSggypcKUCCAKy /+k+rt/yXPIAh5NUV4Dswp2locfXp5Fk2/vsCcMzCYP47P+qOpfvZmCFsKzFqKeQ2oii UQGYggrRMJlnZqfu5J7LEN7BRhr1k9uz0D8wI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nGbPoGAGcdy55aM0Ov8Ey0itL0JzFj0IJAzYN4SZxkk=; b=GkfKebN226wPyuQyKPDD3a+uJEgVsQuYiPX9FjU++GMXKcZgGg1wSlC2iUbVkyDxRB Xwl1yfEnG3prt1hvseHbK5B9Vg10TpXp/C1dYivILNA+gguq7/nPjYL4JFIRm27lcXK1 bK1OpEa76DJSwAewY50ExRldyhOx1UD36LZLeEXqaJfa7XZtJ6zuod8YSohLjEbShKka /sv3YywR6V8Ua/zBPbRerrL+gyFtBmZymJtM793jApboDiQL/cDnIIR8vAfWKOCngvbd vflVQAcXW8/Z2uuKoh2U3Lmsa2UgR/GkTCN75QOlWnI+ZJSMG3jRTqha02C5qlcCucEQ KrZg== X-Gm-Message-State: AO0yUKUMzW8XxM+SB5TEZTDp/1jnuT1EoLqxdStsx75hpxnYZhxeaPnB ok071AK2L1YkzMjWxNRhWFhvXOTcjijUjlyP3BKuOQ== X-Google-Smtp-Source: AK7set/AyAhHuKbZNIjbmbiucuZFUpcMOahMVGsNrZGGRbFLUJVBqvSWKDfQQQF5j7iZGVVcf8xZGewGkZCDHyeySac= X-Received: by 2002:a05:6808:11c5:b0:37b:73b1:fae with SMTP id p5-20020a05680811c500b0037b73b10faemr827987oiv.269.1675961276274; Thu, 09 Feb 2023 08:47:56 -0800 (PST) MIME-Version: 1.0 References: <20221114165438.1133783-1-juraj.linkes@pantheon.tech> <20230117154906.860916-1-juraj.linkes@pantheon.tech> In-Reply-To: From: Patrick Robb Date: Thu, 9 Feb 2023 11:47:45 -0500 Message-ID: Subject: Re: [PATCH v3 00/10] dts: add hello world testcase To: Owen Hilyard Cc: =?UTF-8?Q?Juraj_Linke=C5=A1?= , thomas@monjalon.net, Honnappa.Nagarahalli@arm.com, lijuan.tu@intel.com, bruce.richardson@intel.com, dev@dpdk.org Content-Type: multipart/alternative; boundary="00000000000087b18305f447242b" 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 --00000000000087b18305f447242b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Jan 19, 2023 at 11:16 AM Owen Hilyard wrote: > Everything looks good to me with the exception of some issues I ran into > with terminal codes. Setting TERM=3Ddumb before running fixed it, but we > might want to set that inside of DTS since I can't think of a reason why = we > would need colors or any of the other "fancy" features of the vt220, and > setting everything to teletype mode should make our lives easier when > parsing output. > > I think that later on it might make sense to have "CPU" be a device class > like NIC or Cryptodev, but that can be revisited once we get closer to > interacting with hardware. > > On Tue, Jan 17, 2023 at 10:49 AM Juraj Linke=C5=A1 > wrote: > >> Add code needed to run the HelloWorld testcase which just runs the hello >> world dpdk application. >> >> The patchset currently heavily refactors this original DTS code needed >> to run the testcase: >> * The whole architecture has been redone into more sensible class >> hierarchy >> * DPDK build on the System under Test >> * DPDK eal args construction, app running and shutting down >> * SUT hugepage memory configuration >> * Test runner >> * Test results >> * TestSuite class >> * Test runner parts interfacing with TestSuite >> * The HelloWorld testsuite itself >> >> The code is divided into sub-packages, some of which are divided >> further. >> >> There patch may need to be divided into smaller chunks. If so, proposals >> on where exactly to split it would be very helpful. >> >> v3: >> Finished refactoring everything in this patch, with test suite and test >> results being the last parts. >> Also changed the directory structure. It's now simplified and the >> imports look much better. >> I've also many many minor changes such as renaming variables here and >> there. >> >> Juraj Linke=C5=A1 (10): >> dts: add node and os abstractions >> dts: add ssh command verification >> dts: add dpdk build on sut >> dts: add dpdk execution handling >> dts: add node memory setup >> dts: add test suite module >> dts: add hello world testplan >> dts: add hello world testsuite >> dts: add test suite config and runner >> dts: add test results module >> >> dts/conf.yaml | 19 +- >> dts/framework/config/__init__.py | 132 +++++++- >> dts/framework/config/arch.py | 57 ++++ >> dts/framework/config/conf_yaml_schema.json | 150 ++++++++- >> dts/framework/dts.py | 185 ++++++++-- >> dts/framework/exception.py | 100 +++++- >> dts/framework/logger.py | 24 +- >> dts/framework/remote_session/__init__.py | 30 +- >> dts/framework/remote_session/linux_session.py | 114 +++++++ >> dts/framework/remote_session/os_session.py | 177 ++++++++++ >> dts/framework/remote_session/posix_session.py | 221 ++++++++++++ >> .../remote_session/remote/__init__.py | 16 + >> .../remote_session/remote/remote_session.py | 155 +++++++++ >> .../{ =3D> remote}/ssh_session.py | 91 ++++- >> .../remote_session/remote_session.py | 95 ------ >> dts/framework/settings.py | 79 ++++- >> dts/framework/test_result.py | 316 ++++++++++++++++++ >> dts/framework/test_suite.py | 254 ++++++++++++++ >> dts/framework/testbed_model/__init__.py | 20 +- >> dts/framework/testbed_model/dpdk.py | 78 +++++ >> dts/framework/testbed_model/hw/__init__.py | 27 ++ >> dts/framework/testbed_model/hw/cpu.py | 253 ++++++++++++++ >> .../testbed_model/hw/virtual_device.py | 16 + >> dts/framework/testbed_model/node.py | 165 +++++++-- >> dts/framework/testbed_model/sut_node.py | 261 +++++++++++++++ >> dts/framework/utils.py | 39 ++- >> dts/test_plans/hello_world_test_plan.rst | 68 ++++ >> dts/tests/TestSuite_hello_world.py | 59 ++++ >> 28 files changed, 2998 insertions(+), 203 deletions(-) >> create mode 100644 dts/framework/config/arch.py >> create mode 100644 dts/framework/remote_session/linux_session.py >> create mode 100644 dts/framework/remote_session/os_session.py >> create mode 100644 dts/framework/remote_session/posix_session.py >> create mode 100644 dts/framework/remote_session/remote/__init__.py >> create mode 100644 dts/framework/remote_session/remote/remote_session.p= y >> rename dts/framework/remote_session/{ =3D> remote}/ssh_session.py (65%) >> delete mode 100644 dts/framework/remote_session/remote_session.py >> create mode 100644 dts/framework/test_result.py >> create mode 100644 dts/framework/test_suite.py >> create mode 100644 dts/framework/testbed_model/dpdk.py >> create mode 100644 dts/framework/testbed_model/hw/__init__.py >> create mode 100644 dts/framework/testbed_model/hw/cpu.py >> create mode 100644 dts/framework/testbed_model/hw/virtual_device.py >> create mode 100644 dts/framework/testbed_model/sut_node.py >> create mode 100644 dts/test_plans/hello_world_test_plan.rst >> create mode 100644 dts/tests/TestSuite_hello_world.py >> >> -- >> 2.30.2 >> >> Tested-by: Patrick Robb --=20 Patrick Robb Technical Service Manager UNH InterOperability Laboratory 21 Madbury Rd, Suite 100, Durham, NH 03824 www.iol.unh.edu --00000000000087b18305f447242b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, Jan 19, 2023 at 11:16 AM Owen= Hilyard <ohil= yard@iol.unh.edu> wrote:
Everything looks good to me with the excep= tion of some issues I ran into with terminal codes. Setting TERM=3Ddumb bef= ore running fixed it, but we might want to set that inside of DTS since I c= an't think of a reason why we would need colors or any of the other &qu= ot;fancy" features of the=C2=A0vt220, and setting everything to telety= pe mode should make our lives easier when parsing output.

I think that later on it might make sense to have "CPU" be a de= vice class like NIC or Cryptodev, but that can be revisited once we get clo= ser to interacting with hardware.=C2=A0

On Tue, Jan 17, 2023 at 10:49 = AM Juraj Linke=C5=A1 <juraj.linkes@pantheon.tech> wrote:
Add code needed to run the H= elloWorld testcase which just runs the hello
world dpdk application.

The patchset currently heavily refactors this original DTS code needed
to run the testcase:
* The whole architecture has been redone into more sensible class
=C2=A0 hierarchy
* DPDK build on the System under Test
* DPDK eal args construction, app running and shutting down
* SUT hugepage memory configuration
* Test runner
* Test results
* TestSuite class
* Test runner parts interfacing with TestSuite
* The HelloWorld testsuite itself

The code is divided into sub-packages, some of which are divided
further.

There patch may need to be divided into smaller chunks. If so, proposals on where exactly to split it would be very helpful.

v3:
Finished refactoring everything in this patch, with test suite and test
results being the last parts.
Also changed the directory structure. It's now simplified and the
imports look much better.
I've also many many minor changes such as renaming variables here and there.

Juraj Linke=C5=A1 (10):
=C2=A0 dts: add node and os abstractions
=C2=A0 dts: add ssh command verification
=C2=A0 dts: add dpdk build on sut
=C2=A0 dts: add dpdk execution handling
=C2=A0 dts: add node memory setup
=C2=A0 dts: add test suite module
=C2=A0 dts: add hello world testplan
=C2=A0 dts: add hello world testsuite
=C2=A0 dts: add test suite config and runner
=C2=A0 dts: add test results module

=C2=A0dts/conf.yaml=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 19 +-=
=C2=A0dts/framework/config/__init__.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 | 132 +++++++-
=C2=A0dts/framework/config/arch.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 |=C2=A0 57 ++++
=C2=A0dts/framework/config/conf_yaml_schema.json=C2=A0 =C2=A0 | 150 +++++++= +-
=C2=A0dts/framework/dts.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 185 ++++++++--
=C2=A0dts/framework/exception.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 100 +++++-
=C2=A0dts/framework/logger.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 24 +-
=C2=A0dts/framework/remote_session/__init__.py=C2=A0 =C2=A0 =C2=A0 |=C2=A0 = 30 +-
=C2=A0dts/framework/remote_session/linux_session.py | 114 +++++++
=C2=A0dts/framework/remote_session/os_session.py=C2=A0 =C2=A0 | 177 +++++++= +++
=C2=A0dts/framework/remote_session/posix_session.py | 221 ++++++++++++
=C2=A0.../remote_session/remote/__init__.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0|=C2=A0 16 +
=C2=A0.../remote_session/remote/remote_session.py=C2=A0 =C2=A0| 155 +++++++= ++
=C2=A0.../{ =3D> remote}/ssh_session.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 91 ++++-
=C2=A0.../remote_session/remote_session.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 |=C2=A0 95 ------
=C2=A0dts/framework/settings.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 79 ++++-
=C2=A0dts/framework/test_result.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 | 316 ++++++++++++++++++
=C2=A0dts/framework/test_suite.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0| 254 ++++++++++++++
=C2=A0dts/framework/testbed_model/__init__.py=C2=A0 =C2=A0 =C2=A0 =C2=A0|= =C2=A0 20 +-
=C2=A0dts/framework/testbed_model/dpdk.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0|=C2=A0 78 +++++
=C2=A0dts/framework/testbed_model/hw/__init__.py=C2=A0 =C2=A0 |=C2=A0 27 ++=
=C2=A0dts/framework/testbed_model/hw/cpu.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0| 253 ++++++++++++++
=C2=A0.../testbed_model/hw/virtual_device.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 |= =C2=A0 16 +
=C2=A0dts/framework/testbed_model/node.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0| 165 +++++++--
=C2=A0dts/framework/testbed_model/sut_node.py=C2=A0 =C2=A0 =C2=A0 =C2=A0| 2= 61 +++++++++++++++
=C2=A0dts/framework/utils.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 39 ++-
=C2=A0dts/test_plans/hello_world_test_plan.rst=C2=A0 =C2=A0 =C2=A0 |=C2=A0 = 68 ++++
=C2=A0dts/tests/TestSuite_hello_world.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 |=C2=A0 59 ++++
=C2=A028 files changed, 2998 insertions(+), 203 deletions(-)
=C2=A0create mode 100644 dts/framework/config/arch.py
=C2=A0create mode 100644 dts/framework/remote_session/linux_session.py
=C2=A0create mode 100644 dts/framework/remote_session/os_session.py
=C2=A0create mode 100644 dts/framework/remote_session/posix_session.py
=C2=A0create mode 100644 dts/framework/remote_session/remote/__init__.py =C2=A0create mode 100644 dts/framework/remote_session/remote/remote_session= .py
=C2=A0rename dts/framework/remote_session/{ =3D> remote}/ssh_session.py = (65%)
=C2=A0delete mode 100644 dts/framework/remote_session/remote_session.py
=C2=A0create mode 100644 dts/framework/test_result.py
=C2=A0create mode 100644 dts/framework/test_suite.py
=C2=A0create mode 100644 dts/framework/testbed_model/dpdk.py
=C2=A0create mode 100644 dts/framework/testbed_model/hw/__init__.py
=C2=A0create mode 100644 dts/framework/testbed_model/hw/cpu.py
=C2=A0create mode 100644 dts/framework/testbed_model/hw/virtual_device.py =C2=A0create mode 100644 dts/framework/testbed_model/sut_node.py
=C2=A0create mode 100644 dts/test_plans/hello_world_test_plan.rst
=C2=A0create mode 100644 dts/tests/TestSuite_hello_world.py

--
2.30.2


Tested-by: Patrick Robb <probb@iol.unh.edu>=
--

Patr= ick Robb

Technical Service Manager

UNH Int= erOperability Laboratory

21 Madbury Rd, Suite 100, Durha= m, NH 03824

www.iol.unh.edu

=


--00000000000087b18305f447242b--