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 109B745482;
	Mon, 17 Jun 2024 17:24:03 +0200 (CEST)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id F009C40B98;
	Mon, 17 Jun 2024 17:24:02 +0200 (CEST)
Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com
 [209.85.208.171])
 by mails.dpdk.org (Postfix) with ESMTP id E633B40687
 for <dev@dpdk.org>; Mon, 17 Jun 2024 17:24:01 +0200 (CEST)
Received: by mail-lj1-f171.google.com with SMTP id
 38308e7fff4ca-2ec18643661so3461511fa.0
 for <dev@dpdk.org>; Mon, 17 Jun 2024 08:24:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=iol.unh.edu; s=unh-iol; t=1718637841; x=1719242641; darn=dpdk.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=5Ux+N/3vTFqauLLmvIOeNLSXGFOgLRHvi8bJcZAFrrs=;
 b=XYuID9yXGQDj+fZq5wo55XLK3rAkxZH4colOg0gM5fVBCfHfVwjAssWw+2Yc068XA1
 QNHy9+BZhUPfIJQ/E9rU8AUi7lOF1gAnE6p9DsMCZG2ydZWLl++WcgSDzQyAm2tG8t4n
 9hNjnRHHsFvqz7e9e8vzJSXTQJz36WzwHSnbM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1718637841; x=1719242641;
 h=content-transfer-encoding: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=5Ux+N/3vTFqauLLmvIOeNLSXGFOgLRHvi8bJcZAFrrs=;
 b=mc4TFWXRcItWojG+oJf/XSWIp6c77oghyeYg61gwoSHLiH2OwgKu9yoAxS/OyEg5j0
 iICfni/2KhZb9R8ZhwnO/vynsapwrsoVVWhk/TVAuMuW+o2lIt8qLy5p9tpoWe/qU/xM
 sNuhCdoxvx5IhswOTI+Ui9fPDJdBoRAgh4zcfMGknci87SNtR+Z9eGkKTGLTyaorOMfD
 kHJEbodQSMmnpW4lkVsypKCLglBfVo0E340vwIsB8FRYRdhb9L1Q6zMONfqYT7zs2olV
 dBEIkPEDOnTx10QcQ+djX6tadAXfiSVrxKrhdqYSldvYUKMzyRNxC130cqeVS0RTe2C7
 AAJw==
X-Gm-Message-State: AOJu0YyYiR/C0fAtELgPqD73NBM5aM8g+J+kgH+BqhglMMjiA4S0SdAs
 9rcBDtnO/AoCMNFOSMGwWlXRikzXbCWFeT0daE7GzZSe6ktIRcGE8fz1qbUolnkrmfE0t9A41L7
 YpvLpr1tTIgkOyFT2ze6KFIf6/o72ywdgt/YiSA==
X-Google-Smtp-Source: AGHT+IGGDUJgkIEIXOAV71eMdXu+sgMMzHKwDr0tgVk+wI806UxZJ6htR3OAK14qzBeBxgX25IzXbc6MTyCdD2hzCHI=
X-Received: by 2002:a05:651c:1a1e:b0:2ea:8442:2096 with SMTP id
 38308e7fff4ca-2ec0e47f142mr62900491fa.2.1718637841459; Mon, 17 Jun 2024
 08:24:01 -0700 (PDT)
MIME-Version: 1.0
References: <20240326190422.577028-1-luca.vizzarro@arm.com>
 <20240617145409.67407-1-luca.vizzarro@arm.com>
 <20240617145409.67407-5-luca.vizzarro@arm.com>
In-Reply-To: <20240617145409.67407-5-luca.vizzarro@arm.com>
From: Nicholas Pratte <npratte@iol.unh.edu>
Date: Mon, 17 Jun 2024 11:23:50 -0400
Message-ID: <CAKXZ7ej2qV82n805ko9mik4FwfB-sOwptmrHyA5Ujh2KvVSfiA@mail.gmail.com>
Subject: Re: [PATCH v5 4/8] dts: remove module-wide imports
To: Luca Vizzarro <luca.vizzarro@arm.com>
Cc: dev@dpdk.org, Jeremy Spewock <jspewock@iol.unh.edu>, 
 =?UTF-8?Q?Juraj_Linke=C5=A1?= <juraj.linkes@pantheon.tech>, 
 Paul Szczepanek <paul.szczepanek@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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

Tested-by: Nicholas Pratte <npratte@iol.unh.edu>
Reviewed-by: Nicholas Pratte <npratte@iol.unh.edu>

On Mon, Jun 17, 2024 at 10:54=E2=80=AFAM Luca Vizzarro <luca.vizzarro@arm.c=
om> wrote:
>
> Remove the imports in the testbed_model and remote_session modules init
> file, to avoid the initialisation of unneeded modules, thus removing or
> limiting the risk of circular dependencies.
>
> Signed-off-by: Luca Vizzarro <luca.vizzarro@arm.com>
> Reviewed-by: Paul Szczepanek <paul.szczepanek@arm.com>
> Reviewed-by: Juraj Linke=C5=A1 <juraj.linkes@pantheon.tech>
> Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
> Reviewed-by: Nicholas Pratte <npratte@iol.unh.edu>
> ---
>  dts/framework/remote_session/__init__.py               | 7 +------
>  dts/framework/runner.py                                | 4 +++-
>  dts/framework/test_suite.py                            | 5 ++++-
>  dts/framework/testbed_model/__init__.py                | 9 ---------
>  dts/framework/testbed_model/os_session.py              | 4 ++--
>  dts/framework/testbed_model/sut_node.py                | 2 +-
>  dts/framework/testbed_model/traffic_generator/scapy.py | 2 +-
>  dts/tests/TestSuite_hello_world.py                     | 2 +-
>  dts/tests/TestSuite_smoke_tests.py                     | 2 +-
>  9 files changed, 14 insertions(+), 23 deletions(-)
>
> diff --git a/dts/framework/remote_session/__init__.py b/dts/framework/rem=
ote_session/__init__.py
> index 1910c81c3c..0668e9c884 100644
> --- a/dts/framework/remote_session/__init__.py
> +++ b/dts/framework/remote_session/__init__.py
> @@ -12,17 +12,12 @@
>  allowing it to send and receive data within that particular shell.
>  """
>
> -# pylama:ignore=3DW0611
> -
>  from framework.config import NodeConfiguration
>  from framework.logger import DTSLogger
>
>  from .interactive_remote_session import InteractiveRemoteSession
> -from .interactive_shell import InteractiveShell
> -from .python_shell import PythonShell
> -from .remote_session import CommandResult, RemoteSession
> +from .remote_session import RemoteSession
>  from .ssh_session import SSHSession
> -from .testpmd_shell import TestPmdShell
>
>
>  def create_remote_session(
> diff --git a/dts/framework/runner.py b/dts/framework/runner.py
> index dfdee14802..687bc04f79 100644
> --- a/dts/framework/runner.py
> +++ b/dts/framework/runner.py
> @@ -26,6 +26,9 @@
>  from types import FunctionType
>  from typing import Iterable, Sequence
>
> +from framework.testbed_model.sut_node import SutNode
> +from framework.testbed_model.tg_node import TGNode
> +
>  from .config import (
>      BuildTargetConfiguration,
>      Configuration,
> @@ -51,7 +54,6 @@
>      TestSuiteWithCases,
>  )
>  from .test_suite import TestSuite
> -from .testbed_model import SutNode, TGNode
>
>
>  class DTSRunner:
> diff --git a/dts/framework/test_suite.py b/dts/framework/test_suite.py
> index 8768f756a6..9d3debb00f 100644
> --- a/dts/framework/test_suite.py
> +++ b/dts/framework/test_suite.py
> @@ -20,9 +20,12 @@
>  from scapy.layers.l2 import Ether  # type: ignore[import-untyped]
>  from scapy.packet import Packet, Padding  # type: ignore[import-untyped]
>
> +from framework.testbed_model.port import Port, PortLink
> +from framework.testbed_model.sut_node import SutNode
> +from framework.testbed_model.tg_node import TGNode
> +
>  from .exception import TestCaseVerifyError
>  from .logger import DTSLogger, get_dts_logger
> -from .testbed_model import Port, PortLink, SutNode, TGNode
>  from .testbed_model.traffic_generator import PacketFilteringConfig
>  from .utils import get_packet_summaries
>
> diff --git a/dts/framework/testbed_model/__init__.py b/dts/framework/test=
bed_model/__init__.py
> index 6086512ca2..e3edd4d811 100644
> --- a/dts/framework/testbed_model/__init__.py
> +++ b/dts/framework/testbed_model/__init__.py
> @@ -17,12 +17,3 @@
>  DTS needs to be able to connect to nodes and understand some of the hard=
ware present on these nodes
>  to properly build and test DPDK.
>  """
> -
> -# pylama:ignore=3DW0611
> -
> -from .cpu import LogicalCoreCount, LogicalCoreCountFilter, LogicalCoreLi=
st
> -from .node import Node
> -from .port import Port, PortLink
> -from .sut_node import SutNode
> -from .tg_node import TGNode
> -from .virtual_device import VirtualDevice
> diff --git a/dts/framework/testbed_model/os_session.py b/dts/framework/te=
stbed_model/os_session.py
> index 1a77aee532..e5f5fcbe0e 100644
> --- a/dts/framework/testbed_model/os_session.py
> +++ b/dts/framework/testbed_model/os_session.py
> @@ -32,13 +32,13 @@
>  from framework.logger import DTSLogger
>  from framework.params import Params
>  from framework.remote_session import (
> -    CommandResult,
>      InteractiveRemoteSession,
> -    InteractiveShell,
>      RemoteSession,
>      create_interactive_session,
>      create_remote_session,
>  )
> +from framework.remote_session.interactive_shell import InteractiveShell
> +from framework.remote_session.remote_session import CommandResult
>  from framework.settings import SETTINGS
>  from framework.utils import MesonArgs
>
> diff --git a/dts/framework/testbed_model/sut_node.py b/dts/framework/test=
bed_model/sut_node.py
> index e1163106a3..83ad06ae2d 100644
> --- a/dts/framework/testbed_model/sut_node.py
> +++ b/dts/framework/testbed_model/sut_node.py
> @@ -26,7 +26,7 @@
>  )
>  from framework.params import Params, Switch
>  from framework.params.eal import EalParams
> -from framework.remote_session import CommandResult
> +from framework.remote_session.remote_session import CommandResult
>  from framework.settings import SETTINGS
>  from framework.utils import MesonArgs
>
> diff --git a/dts/framework/testbed_model/traffic_generator/scapy.py b/dts=
/framework/testbed_model/traffic_generator/scapy.py
> index ed5467d825..7bc1c2cc08 100644
> --- a/dts/framework/testbed_model/traffic_generator/scapy.py
> +++ b/dts/framework/testbed_model/traffic_generator/scapy.py
> @@ -25,7 +25,7 @@
>  from scapy.packet import Packet  # type: ignore[import-untyped]
>
>  from framework.config import OS, ScapyTrafficGeneratorConfig
> -from framework.remote_session import PythonShell
> +from framework.remote_session.python_shell import PythonShell
>  from framework.settings import SETTINGS
>  from framework.testbed_model.node import Node
>  from framework.testbed_model.port import Port
> diff --git a/dts/tests/TestSuite_hello_world.py b/dts/tests/TestSuite_hel=
lo_world.py
> index fd7ff1534d..0d6995f260 100644
> --- a/dts/tests/TestSuite_hello_world.py
> +++ b/dts/tests/TestSuite_hello_world.py
> @@ -8,7 +8,7 @@
>  """
>
>  from framework.test_suite import TestSuite
> -from framework.testbed_model import (
> +from framework.testbed_model.cpu import (
>      LogicalCoreCount,
>      LogicalCoreCountFilter,
>      LogicalCoreList,
> diff --git a/dts/tests/TestSuite_smoke_tests.py b/dts/tests/TestSuite_smo=
ke_tests.py
> index a553e89662..ca678f662d 100644
> --- a/dts/tests/TestSuite_smoke_tests.py
> +++ b/dts/tests/TestSuite_smoke_tests.py
> @@ -15,7 +15,7 @@
>  import re
>
>  from framework.config import PortConfig
> -from framework.remote_session import TestPmdShell
> +from framework.remote_session.testpmd_shell import TestPmdShell
>  from framework.settings import SETTINGS
>  from framework.test_suite import TestSuite
>  from framework.utils import REGEX_FOR_PCI_ADDRESS
> --
> 2.34.1
>