From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <dev-bounces@dpdk.org> Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 96E1941D44; Wed, 1 Mar 2023 09:36:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 87CE94113C; Wed, 1 Mar 2023 09:36:03 +0100 (CET) Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) by mails.dpdk.org (Postfix) with ESMTP id DFC1E40E50 for <dev@dpdk.org>; Wed, 1 Mar 2023 09:36:02 +0100 (CET) Received: by mail-ed1-f46.google.com with SMTP id ck15so50890857edb.0 for <dev@dpdk.org>; Wed, 01 Mar 2023 00:36:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon-tech.20210112.gappssmtp.com; s=20210112; t=1677659762; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=iHYn7wPXQOt2DUqw08JwNF27gaDUls6Ip4/2zNIIGoY=; b=XinlQC7Yq6Tw7NFg7wPleDzw6u6gti9/oQ7yBeLRhvmsCRAASJ5sQP5M7FLecE08Vs cEhGg4Mae2VFNOYCwVHN+c01/dXwce9VAICvD7k+3KWZY+SJjg5LgsnM1hM6cG7O7pDG VsZ13rgujeR4Fm035FEG1gDNb9noe0WTl3Al62U/VfT10ziEi1UosgMCPCOT1R2HHF0j 6xxiP58IF4+USKUR4geiGaKUkG99VACtq/1Ry95xmLJCS44dYHvN2m35z8gXJDYMIpPw /THeFhiO8tpeymjIzBT9J2FCD52zC8n8AJn1m5FRKjDwdDQ/hztzVfBXveSMLO4DxNEE nwTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677659762; 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=iHYn7wPXQOt2DUqw08JwNF27gaDUls6Ip4/2zNIIGoY=; b=TtMaHjYkxFIwyzTOu33TAYa8rLBpvwLGp4SG8fngkl0MzYVTby3HLi61ZDD1zLJrX+ gBsko+grpurjzRqqBnUJCkz+/0v3mnx/9OeBMBV0bW6jD2aNQnoVMM+2nvJTgHYP7yCa iZP4v0H/mUKCa3foIUqxwPUR9YPWk70YJnZXqBhakw+bqaHCiywJNFfF4tHcbnY1PXi9 pyLrGURd4FDMEFfoawJ79xMvTRYvYXsv6oaX+NW79MYv9L64L9SxVExU7f2WEbm3uvV7 HxtCLa7YaS2GShpY5sh/jwjQYaEh2w7RV2vrSmlEeTHaQc2xwb/BnW13xuJXjGLyz04K kvYw== X-Gm-Message-State: AO0yUKUwnoyZHpD+z0N9y8T1I6mFlWIkk9WoY1svde+2CydE/FJ91KQF OIKHuJXcsnv2eqsPVEagkBPbhOoUMuHJA6HNFwDhmA== X-Google-Smtp-Source: AK7set+bWqQ67DDcp7b1RdGfXoz4zT0bd/2L8Bu/QAH6pzSU+DFBbfLc+svyK9Q75udxZ4FGWrEkCWxkAP4HU/piZjs= X-Received: by 2002:a50:cc84:0:b0:4ae:f5fd:c2d1 with SMTP id q4-20020a50cc84000000b004aef5fdc2d1mr3219622edi.2.1677659762505; Wed, 01 Mar 2023 00:36:02 -0800 (PST) MIME-Version: 1.0 References: <20230213152846.284191-1-juraj.linkes@pantheon.tech> <20230223152840.634183-1-juraj.linkes@pantheon.tech> <DB6PR08MB26969C03AB8D30E8340C8F579FAE9@DB6PR08MB2696.eurprd08.prod.outlook.com> <CAOb5WZZX_Rm4k9DgYnudJLP5ppDo8zQDPaGz_hdsx3wPFrYXOQ@mail.gmail.com> <AM4PR08MB269099C0A7B80E37F32D18129FAC9@AM4PR08MB2690.eurprd08.prod.outlook.com> In-Reply-To: <AM4PR08MB269099C0A7B80E37F32D18129FAC9@AM4PR08MB2690.eurprd08.prod.outlook.com> From: =?UTF-8?Q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech> Date: Wed, 1 Mar 2023 09:35:51 +0100 Message-ID: <CAOb5WZZQhsfJhrWxCYSCt9hUiob=6wgHOW5Uhh3gQYaWTBXQFg@mail.gmail.com> Subject: Re: [PATCH v5 00/10] dts: add hello world testcase To: Wathsala Wathawana Vithanage <wathsala.vithanage@arm.com> Cc: "thomas@monjalon.net" <thomas@monjalon.net>, Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>, "lijuan.tu@intel.com" <lijuan.tu@intel.com>, "bruce.richardson@intel.com" <bruce.richardson@intel.com>, "probb@iol.unh.edu" <probb@iol.unh.edu>, "dev@dpdk.org" <dev@dpdk.org>, nd <nd@arm.com> Content-Type: multipart/alternative; boundary="00000000000032c95005f5d29a07" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org --00000000000032c95005f5d29a07 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Feb 28, 2023 at 4:27=E2=80=AFPM Wathsala Wathawana Vithanage < wathsala.vithanage@arm.com> wrote: > > > > > *From:* Juraj Linke=C5=A1 <juraj.linkes@pantheon.tech> > *Sent:* Monday, February 27, 2023 3:29 AM > *To:* Wathsala Wathawana Vithanage <wathsala.vithanage@arm.com> > *Cc:* thomas@monjalon.net; Honnappa Nagarahalli < > Honnappa.Nagarahalli@arm.com>; lijuan.tu@intel.com; > bruce.richardson@intel.com; probb@iol.unh.edu; dev@dpdk.org; nd < > nd@arm.com> > *Subject:* Re: [PATCH v5 00/10] dts: add hello world testcase > > > > > > Hi Juraj, > > > > Hi Wathsala, thanks for the comments. > > > > Everything looks good except for couple of comments/suggestions. > If I=E2=80=99m not mistaken dpdk tarball is copied to the SUT over scp. H= owever, > scp is already deprecated [1,2]. Is it possible to use rsync over ssh > instead? > > > > We're going to replace the pexpect implementation with the Fabric library > in a separate patch (the helloworld patch is already very big), which wil= l > address this - Fabric uses SFTP for file transfer. > > > > Looks like ssh password needs to be stored in the configuration file whic= h > is not a good practice. Suggests giving users two options (a) using an ss= h > key instead of password (b) prompting for user password if no key is > provided. > > > > This is an optional and heavily discouraged option (useful for quick > debugging, so we left it in). SSH keys are the default. The Fabric patch > will also include the support for non-root users (with passwordless sudo)= . > > > > It's somewhat cumbersome for a developer to create a tarball every time > they run a test case. Therefore, would it be possible to automate the > creation of tarball from a git repo + branch or a local directory when us= er > doesn=E2=80=99t provide a tarball? > > > > That is also a separate patch in the making - users will be able to suppl= y > a git ref that DTS will use. I haven't thought about local directories, > what additional scenarios would that cover? > > > > It may come in handy if working with a tarball without git or access to > Internet. > > > Is that an additional scenario though? With the git ref support patch, users will be able to pass either a tarball (the tarball won't be deleted so the user can reuse it) or a git ref (when running DTS from the repository). What I wanted to know is how do you arrive at a setup where you have a local directory that's not a git repository and you don't have a tarball - i.e. how do you have a local non-repo directory without a tarball (you have to get the local directory from somewhere, presumable a tarball)? > Regards, > > Juraj > > > > > [1] https://lwn.net/Articles/835962/ > [2] > https://www.redhat.com/en/blog/openssh-scp-deprecation-rhel-9-what-you-ne= ed-know > > > 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 testsuite > > dts: add test suite config and runner > > dts: add test results module > > doc: update DTS setup and test suite cookbook > > > > doc/guides/tools/dts.rst | 165 ++++++++- > > dts/conf.yaml | 22 +- > > dts/framework/config/__init__.py | 130 ++++++- > > dts/framework/config/conf_yaml_schema.json | 172 +++++++++- > > 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 | 107 ++++++ > > dts/framework/remote_session/os_session.py | 175 ++++++++++ > > dts/framework/remote_session/posix_session.py | 222 ++++++++++++ > > .../remote_session/remote/__init__.py | 16 + > > .../remote_session/remote/remote_session.py | 155 +++++++++ > > .../{ =3D> remote}/ssh_session.py | 92 ++++- > > .../remote_session/remote_session.py | 95 ------ > > dts/framework/settings.py | 81 ++++- > > 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 | 274 +++++++++++++++ > > .../testbed_model/hw/virtual_device.py | 16 + > > dts/framework/testbed_model/node.py | 159 +++++++-- > > dts/framework/testbed_model/sut_node.py | 260 ++++++++++++++ > > dts/framework/utils.py | 39 ++- > > dts/tests/TestSuite_hello_world.py | 64 ++++ > > 27 files changed, 3068 insertions(+), 210 deletions(-) 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.py > > rename dts/framework/remote_session/{ =3D> remote}/ssh_session.py (64%= ) > > 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/tests/TestSuite_hello_world.py > > > > -- > > 2.30.2 > > > > --00000000000032c95005f5d29a07 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">= <div dir=3D"ltr" class=3D"gmail_attr">On Tue, Feb 28, 2023 at 4:27=E2=80=AF= PM Wathsala Wathawana Vithanage <<a href=3D"mailto:wathsala.vithanage@ar= m.com">wathsala.vithanage@arm.com</a>> wrote:<br></div><blockquote class= =3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg= b(204,204,204);padding-left:1ex"><div class=3D"msg-341182210817702663"> <div style=3D"overflow-wrap: break-word;" lang=3D"EN-US"> <div class=3D"m_-341182210817702663WordSection1"> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <div style=3D"border-color:currentcolor currentcolor currentcolor blue;bord= er-style:none none none solid;border-width:medium medium medium 1.5pt;paddi= ng:0in 0in 0in 4pt"> <div> <div style=3D"border-color:rgb(225,225,225) currentcolor currentcolor;borde= r-style:solid none none;border-width:1pt medium medium;padding:3pt 0in 0in"= > <p class=3D"MsoNormal"><b>From:</b> Juraj Linke=C5=A1 <juraj.linkes@pant= heon.tech> <br> <b>Sent:</b> Monday, February 27, 2023 3:29 AM<br> <b>To:</b> Wathsala Wathawana Vithanage <<a href=3D"mailto:wathsala.vith= anage@arm.com" target=3D"_blank">wathsala.vithanage@arm.com</a>><br> <b>Cc:</b> <a href=3D"mailto:thomas@monjalon.net" target=3D"_blank">thomas@= monjalon.net</a>; Honnappa Nagarahalli <<a href=3D"mailto:Honnappa.Nagar= ahalli@arm.com" target=3D"_blank">Honnappa.Nagarahalli@arm.com</a>>; <a = href=3D"mailto:lijuan.tu@intel.com" target=3D"_blank">lijuan.tu@intel.com</= a>; <a href=3D"mailto:bruce.richardson@intel.com" target=3D"_blank">bruce.r= ichardson@intel.com</a>; <a href=3D"mailto:probb@iol.unh.edu" target=3D"_bl= ank">probb@iol.unh.edu</a>; <a href=3D"mailto:dev@dpdk.org" target=3D"_blan= k">dev@dpdk.org</a>; nd <<a href=3D"mailto:nd@arm.com" target=3D"_blank"= >nd@arm.com</a>><br> <b>Subject:</b> Re: [PATCH v5 00/10] dts: add hello world testcase<u></u><u= ></u></p> </div> </div> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <div> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <div> <blockquote style=3D"border-color:currentcolor currentcolor currentcolor rg= b(204,204,204);border-style:none none none solid;border-width:medium medium= medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"> <p class=3D"MsoNormal">Hi Juraj,<u></u><u></u></p> </blockquote> <div> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> </div> <div> <p class=3D"MsoNormal">Hi Wathsala, thanks for the comments.<u></u><u></u><= /p> </div> <div> <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p> </div> <blockquote style=3D"border-color:currentcolor currentcolor currentcolor rg= b(204,204,204);border-style:none none none solid;border-width:medium medium= medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"> <p class=3D"MsoNormal">Everything looks good except for couple of comments/= suggestions.<br> If I=E2=80=99m not mistaken dpdk tarball is copied to the SUT over scp. How= ever, scp is already deprecated [1,2]. Is it possible to use rsync over ssh= instead?<u></u><u></u></p> </blockquote> <div> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> </div> <div> <p class=3D"MsoNormal">We're going to replace the pexpect implementatio= n with the Fabric library in a separate patch (the helloworld patch is alre= ady very big), which will address this - Fabric uses SFTP for file transfer= .<u></u><u></u></p> </div> <div> <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p> </div> <blockquote style=3D"border-color:currentcolor currentcolor currentcolor rg= b(204,204,204);border-style:none none none solid;border-width:medium medium= medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"> <p class=3D"MsoNormal">Looks like ssh password needs to be stored in the co= nfiguration file which is not a good practice. Suggests giving users two op= tions (a) using an ssh key instead of password (b) prompting for user passw= ord if no key is provided.<u></u><u></u></p> </blockquote> <div> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> </div> <div> <p class=3D"MsoNormal">This is an optional and heavily discouraged option (= useful for quick debugging, so we left it in). SSH keys are the default. Th= e Fabric patch will also include the support for non-root users (with passw= ordless sudo).<u></u><u></u></p> </div> <div> <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p> </div> <blockquote style=3D"border-color:currentcolor currentcolor currentcolor rg= b(204,204,204);border-style:none none none solid;border-width:medium medium= medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"> <p class=3D"MsoNormal">It's somewhat cumbersome for a developer to crea= te a tarball every time they run a test case. Therefore, would it be possib= le to automate the creation of tarball from a git repo + branch or a local = directory when user doesn=E2=80=99t provide a tarball?<u></u><u></u></p> </blockquote> <div> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> </div> <div> <p class=3D"MsoNormal">That is also a separate patch in the making - users = will be able to supply a git ref that DTS will use. I haven't thought a= bout local directories, what additional scenarios would that cover?<u></u><= u></u></p> </div> <div> <p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p> <p class=3D"MsoNormal">It may come in handy if working with a tarball witho= ut git or access to Internet.<u></u><u></u></p> <p class=3D"MsoNormal"><u></u>=C2=A0</p></div></div></div></div></div></div= ></div></blockquote><div><br></div><div>Is that an additional scenario thou= gh? With the git ref support patch, users will be able to pass either a tar= ball (the tarball won't be deleted so the user can reuse it) or a git r= ef (when running DTS from the repository). What I wanted to know is how do = you arrive at a setup where you have a local directory that's not a git= repository and you don't have a tarball - i.e. how do you have a local= non-repo directory without a tarball (you have to get the local directory = from somewhere, presumable a tarball)?<br></div><div>=C2=A0</div><blockquot= e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s= olid rgb(204,204,204);padding-left:1ex"><div class=3D"msg-34118221081770266= 3"><div style=3D"overflow-wrap: break-word;" lang=3D"EN-US"><div class=3D"m= _-341182210817702663WordSection1"><div style=3D"border-color:currentcolor c= urrentcolor currentcolor blue;border-style:none none none solid;border-widt= h:medium medium medium 1.5pt;padding:0in 0in 0in 4pt"><div><div><div><p cla= ss=3D"MsoNormal"><u></u></p> </div> <div> <p class=3D"MsoNormal">Regards,<u></u><u></u></p> </div> <div> <p class=3D"MsoNormal">Juraj<u></u><u></u></p> </div> <div> <p class=3D"MsoNormal">=C2=A0<u></u><u></u></p> </div> <blockquote style=3D"border-color:currentcolor currentcolor currentcolor rg= b(204,204,204);border-style:none none none solid;border-width:medium medium= medium 1pt;padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"> <p class=3D"MsoNormal" style=3D"margin-bottom:12pt"><br> [1] <a href=3D"https://lwn.net/Articles/835962/" target=3D"_blank">https://= lwn.net/Articles/835962/</a><br> [2] <a href=3D"https://www.redhat.com/en/blog/openssh-scp-deprecation-rhel-= 9-what-you-need-know" target=3D"_blank"> https://www.redhat.com/en/blog/openssh-scp-deprecation-rhel-9-what-you-need= -know</a><br> <br> > Juraj Linke=C5=A1 (10):<br> >=C2=A0 =C2=A0dts: add node and os abstractions<br> >=C2=A0 =C2=A0dts: add ssh command verification<br> >=C2=A0 =C2=A0dts: add dpdk build on sut<br> >=C2=A0 =C2=A0dts: add dpdk execution handling<br> >=C2=A0 =C2=A0dts: add node memory setup<br> >=C2=A0 =C2=A0dts: add test suite module<br> >=C2=A0 =C2=A0dts: add hello world testsuite<br> >=C2=A0 =C2=A0dts: add test suite config and runner<br> >=C2=A0 =C2=A0dts: add test results module<br> >=C2=A0 =C2=A0doc: update DTS setup and test suite cookbook<br> > <br> >=C2=A0 doc/guides/tools/dts.rst=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 165 ++++++++-<br> >=C2=A0 dts/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 22 +-<br> >=C2=A0 dts/framework/config/__init__.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 | 130 ++++++-<br> >=C2=A0 dts/framework/config/conf_yaml_schema.json=C2=A0 =C2=A0 | 172 ++= +++++++-<br> >=C2=A0 dts/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 ++++++++--<br> >=C2=A0 dts/framework/exception.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 100 +++++-<br> >=C2=A0 dts/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 +-<br> >=C2=A0 dts/framework/remote_session/__init__.py=C2=A0 =C2=A0 =C2=A0 |= =C2=A0 30 +-<br> >=C2=A0 dts/framework/remote_session/linux_session.py | 107 ++++++<br> >=C2=A0 dts/framework/remote_session/os_session.py=C2=A0 =C2=A0 | 175 ++= ++++++++<br> >=C2=A0 dts/framework/remote_session/posix_session.py | 222 ++++++++++++= <br> >=C2=A0 .../remote_session/remote/__init__.py=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0|=C2=A0 16 +<br> >=C2=A0 .../remote_session/remote/remote_session.py=C2=A0 =C2=A0| 155 ++= +++++++<br> >=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 92 ++++-<br> >=C2=A0 .../remote_session/remote_session.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 |=C2=A0 95 ------<br> >=C2=A0 dts/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 81 ++++-<br> >=C2=A0 dts/framework/test_result.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 316 ++++++++++++++++++<br> >=C2=A0 dts/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 ++++++++++++++<br> >=C2=A0 dts/framework/testbed_model/__init__.py=C2=A0 =C2=A0 =C2=A0 =C2= =A0|=C2=A0 20 +-<br> >=C2=A0 dts/framework/testbed_model/dpdk.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0|=C2=A0 78 +++++<br> >=C2=A0 dts/framework/testbed_model/hw/__init__.py=C2=A0 =C2=A0 |=C2=A0 = 27 ++<br> >=C2=A0 dts/framework/testbed_model/hw/cpu.py=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0| 274 +++++++++++++++<br> >=C2=A0 .../testbed_model/hw/virtual_device.py=C2=A0 =C2=A0 =C2=A0 =C2= =A0 |=C2=A0 16 +<br> >=C2=A0 dts/framework/testbed_model/node.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0| 159 +++++++--<br> >=C2=A0 dts/framework/testbed_model/sut_node.py=C2=A0 =C2=A0 =C2=A0 =C2= =A0| 260 ++++++++++++++<br> >=C2=A0 dts/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 ++-<br> >=C2=A0 dts/tests/TestSuite_hello_world.py=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 |=C2=A0 64 ++++<br> >=C2=A0 27 files changed, 3068 insertions(+), 210 deletions(-)=C2=A0 cre= ate mode 100644<br> > dts/framework/remote_session/linux_session.py<br> >=C2=A0 create mode 100644 dts/framework/remote_session/os_session.py<br= > >=C2=A0 create mode 100644 dts/framework/remote_session/posix_session.py= <br> >=C2=A0 create mode 100644 dts/framework/remote_session/remote/__init__.= py<br> >=C2=A0 create mode 100644<br> > dts/framework/remote_session/remote/remote_session.py<br> >=C2=A0 rename dts/framework/remote_session/{ =3D> remote}/ssh_sessio= n.py (64%)<br> > delete mode 100644 dts/framework/remote_session/remote_session.py<br> >=C2=A0 create mode 100644 dts/framework/test_result.py=C2=A0 create mod= e 100644<br> > dts/framework/test_suite.py=C2=A0 create mode 100644<br> > dts/framework/testbed_model/dpdk.py<br> >=C2=A0 create mode 100644 dts/framework/testbed_model/hw/__init__.py<br= > >=C2=A0 create mode 100644 dts/framework/testbed_model/hw/cpu.py<br> >=C2=A0 create mode 100644 dts/framework/testbed_model/hw/virtual_device= .py<br> >=C2=A0 create mode 100644 dts/framework/testbed_model/sut_node.py<br> >=C2=A0 create mode 100644 dts/tests/TestSuite_hello_world.py<br> > <br> > --<br> > 2.30.2<br> > <u></u><u></u></p> </blockquote> </div> </div> </div> </div> </div> </div></blockquote></div></div> --00000000000032c95005f5d29a07--