[v4,4/8] dts: remove module-wide imports

Message ID 20240617144257.61831-5-luca.vizzarro@arm.com (mailing list archive)
State Superseded
Delegated to: Thomas Monjalon
Headers
Series dts: add testpmd params and statefulness |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Luca Vizzarro June 17, 2024, 2:42 p.m. UTC
  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: Jeremy Spewock <jspewock@iol.unh.edu>
Reviewed-by: Nicholas Pratte <npratte@iol.unh.edu>
Tested-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(-)
  

Patch

diff --git a/dts/framework/remote_session/__init__.py b/dts/framework/remote_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=W0611
-
 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/testbed_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 hardware present on these nodes
 to properly build and test DPDK.
 """
-
-# pylama:ignore=W0611
-
-from .cpu import LogicalCoreCount, LogicalCoreCountFilter, LogicalCoreList
-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/testbed_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/testbed_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_hello_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_smoke_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