A couple test suites import and get the run context during execution. Move this to the API.
Signed-off-by: Dean Marx <[email protected]> Signed-off-by: Andrew Bailey <[email protected]> --- .../dts/{framework.context.rst => api.context.rst} | 2 +- doc/api/dts/index.rst | 2 +- dts/api/artifact.py | 2 +- dts/{framework => api}/context.py | 0 dts/api/cryptodev/__init__.py | 2 +- dts/api/packet.py | 4 ++-- dts/api/test.py | 2 +- dts/api/testpmd/__init__.py | 2 +- dts/framework/remote_session/blocking_app.py | 2 +- dts/framework/remote_session/dpdk.py | 2 +- dts/framework/remote_session/dpdk_shell.py | 2 +- dts/framework/remote_session/interactive_shell.py | 2 +- dts/framework/test_run.py | 2 +- dts/framework/test_suite.py | 4 ++-- dts/framework/testbed_model/node.py | 2 +- dts/framework/testbed_model/topology.py | 14 +++++++------- dts/tests/TestSuite_cryptodev_latency.py | 2 +- dts/tests/TestSuite_cryptodev_throughput.py | 2 +- dts/tests/TestSuite_l2fwd.py | 2 +- 19 files changed, 26 insertions(+), 26 deletions(-) rename doc/api/dts/{framework.context.rst => api.context.rst} (80%) rename dts/{framework => api}/context.py (100%) diff --git a/doc/api/dts/framework.context.rst b/doc/api/dts/api.context.rst similarity index 80% rename from doc/api/dts/framework.context.rst rename to doc/api/dts/api.context.rst index 925c160360..65b4ab9a47 100644 --- a/doc/api/dts/framework.context.rst +++ b/doc/api/dts/api.context.rst @@ -3,6 +3,6 @@ context - DTS execution context =============================== -.. automodule:: framework.context +.. automodule:: api.context :members: :show-inheritance: diff --git a/doc/api/dts/index.rst b/doc/api/dts/index.rst index 783270f6e9..98269d6e80 100644 --- a/doc/api/dts/index.rst +++ b/doc/api/dts/index.rst @@ -32,7 +32,7 @@ Modules framework.test_suite framework.test_result framework.settings - framework.context + api.context framework.logger framework.parser api.utils diff --git a/dts/api/artifact.py b/dts/api/artifact.py index 7d04c7ab49..f3dd07de56 100644 --- a/dts/api/artifact.py +++ b/dts/api/artifact.py @@ -86,7 +86,7 @@ def make_file_path( path /= custom_path else: - from framework.context import get_ctx + from api.context import get_ctx try: ctx = get_ctx() diff --git a/dts/framework/context.py b/dts/api/context.py similarity index 100% rename from dts/framework/context.py rename to dts/api/context.py diff --git a/dts/api/cryptodev/__init__.py b/dts/api/cryptodev/__init__.py index 335b811620..198607696f 100644 --- a/dts/api/cryptodev/__init__.py +++ b/dts/api/cryptodev/__init__.py @@ -14,6 +14,7 @@ from typing_extensions import Unpack +from api.context import get_ctx from api.cryptodev.config import CryptoPmdParams, TestType from api.cryptodev.types import ( CryptodevResults, @@ -23,7 +24,6 @@ VerifyResults, ) from api.exception import RemoteCommandExecutionError, SkippedTestException -from framework.context import get_ctx from framework.remote_session.dpdk_shell import compute_eal_params if TYPE_CHECKING: diff --git a/dts/api/packet.py b/dts/api/packet.py index 98f995deb5..dda3087df4 100644 --- a/dts/api/packet.py +++ b/dts/api/packet.py @@ -27,10 +27,10 @@ from scapy.layers.l2 import Ether from scapy.packet import Packet, Padding, raw +from api.context import get_ctx from api.exception import InternalError from api.test import fail, log_debug from api.utils import get_packet_summaries -from framework.context import get_ctx from framework.testbed_model.traffic_generator.capturing_traffic_generator import ( PacketFilteringConfig, ) @@ -82,7 +82,7 @@ def send_packets_and_capture( Returns: A list of received packets. """ - from framework.context import get_ctx + from api.context import get_ctx from framework.testbed_model.traffic_generator.capturing_traffic_generator import ( CapturingTrafficGenerator, ) diff --git a/dts/api/test.py b/dts/api/test.py index 29d6842111..b6caf5c1ae 100644 --- a/dts/api/test.py +++ b/dts/api/test.py @@ -11,8 +11,8 @@ from api.artifact import Artifact from api.capabilities import LinkTopology +from api.context import get_ctx from api.exception import InternalError, SkippedTestException, TestCaseVerifyError -from framework.context import get_ctx from framework.logger import DTSLogger diff --git a/dts/api/testpmd/__init__.py b/dts/api/testpmd/__init__.py index fef7430cb8..ce41408eb6 100644 --- a/dts/api/testpmd/__init__.py +++ b/dts/api/testpmd/__init__.py @@ -32,6 +32,7 @@ from typing_extensions import Unpack from api.capabilities import LinkTopology, NicCapability +from api.context import get_ctx from api.exception import InteractiveCommandExecutionError, InternalError from api.testpmd.config import PortTopology, SimpleForwardingModes, TestPmdParams from api.testpmd.types import ( @@ -55,7 +56,6 @@ TxOffloadConfiguration, VLANOffloadFlag, ) -from framework.context import get_ctx from framework.params.types import TestPmdParamsDict from framework.remote_session.dpdk_shell import DPDKShell from framework.remote_session.interactive_shell import only_active diff --git a/dts/framework/remote_session/blocking_app.py b/dts/framework/remote_session/blocking_app.py index c3b02dcc62..07db6dfeb0 100644 --- a/dts/framework/remote_session/blocking_app.py +++ b/dts/framework/remote_session/blocking_app.py @@ -30,7 +30,7 @@ from typing_extensions import Self -from framework.context import get_ctx +from api.context import get_ctx from framework.params import Params from framework.params.eal import EalParams from framework.remote_session.dpdk_shell import compute_eal_params diff --git a/dts/framework/remote_session/dpdk.py b/dts/framework/remote_session/dpdk.py index ba91c88d11..ee34eb567d 100644 --- a/dts/framework/remote_session/dpdk.py +++ b/dts/framework/remote_session/dpdk.py @@ -14,6 +14,7 @@ from typing import ClassVar, Final from api.capabilities import LinkTopology +from api.context import get_ctx from api.exception import ConfigurationError, RemoteFileNotFoundError from api.utils import MesonArgs, TarCompressionFormat from framework.config.test_run import ( @@ -27,7 +28,6 @@ RemoteDPDKTarballLocation, RemoteDPDKTreeLocation, ) -from framework.context import get_ctx from framework.logger import DTSLogger, get_dts_logger from framework.params.eal import EalParams from framework.remote_session.remote_session import CommandResult diff --git a/dts/framework/remote_session/dpdk_shell.py b/dts/framework/remote_session/dpdk_shell.py index 269c2cada4..a8f169787c 100644 --- a/dts/framework/remote_session/dpdk_shell.py +++ b/dts/framework/remote_session/dpdk_shell.py @@ -10,7 +10,7 @@ from abc import ABC, abstractmethod from pathlib import PurePath -from framework.context import get_ctx +from api.context import get_ctx from framework.params.eal import EalParams from framework.remote_session.interactive_shell import ( InteractiveShell, diff --git a/dts/framework/remote_session/interactive_shell.py b/dts/framework/remote_session/interactive_shell.py index 367a01714d..362bc2a352 100644 --- a/dts/framework/remote_session/interactive_shell.py +++ b/dts/framework/remote_session/interactive_shell.py @@ -29,12 +29,12 @@ from paramiko import Channel, channel from typing_extensions import Self +from api.context import get_ctx from api.exception import ( InteractiveCommandExecutionError, InteractiveSSHSessionDeadError, InteractiveSSHTimeoutError, ) -from framework.context import get_ctx from framework.logger import DTSLogger, get_dts_logger from framework.params import Params from framework.settings import SETTINGS diff --git a/dts/framework/test_run.py b/dts/framework/test_run.py index 75d82c1104..8b9ae4a49a 100644 --- a/dts/framework/test_run.py +++ b/dts/framework/test_run.py @@ -108,9 +108,9 @@ from typing import ClassVar, Protocol, Union from api.capabilities import LinkTopology +from api.context import Context, init_ctx from api.exception import InternalError, SkippedTestException, TestCaseVerifyError from framework.config.test_run import TestRunConfiguration -from framework.context import Context, init_ctx from framework.logger import DTSLogger, get_dts_logger from framework.remote_session.dpdk import DPDKBuildEnvironment, DPDKRuntimeEnvironment from framework.settings import SETTINGS diff --git a/dts/framework/test_suite.py b/dts/framework/test_suite.py index 426c98fdf6..6066f7a77a 100644 --- a/dts/framework/test_suite.py +++ b/dts/framework/test_suite.py @@ -38,7 +38,7 @@ from .logger import DTSLogger, get_dts_logger if TYPE_CHECKING: - from framework.context import Context + from api.context import Context class BaseConfig(FrozenModel): @@ -92,7 +92,7 @@ def __init__(self, config: BaseConfig) -> None: Args: config: The test suite configuration. """ - from framework.context import get_ctx + from api.context import get_ctx self.config = config self._ctx = get_ctx() diff --git a/dts/framework/testbed_model/node.py b/dts/framework/testbed_model/node.py index 4f42bf6aeb..40dd7f0666 100644 --- a/dts/framework/testbed_model/node.py +++ b/dts/framework/testbed_model/node.py @@ -242,7 +242,7 @@ def get_node(node_identifier: NodeIdentifier) -> Node | None: if node_identifier == "local": return None - from framework.context import get_ctx + from api.context import get_ctx ctx = get_ctx() if node_identifier == "sut": diff --git a/dts/framework/testbed_model/topology.py b/dts/framework/testbed_model/topology.py index 002faf0b7f..6b8c5edee5 100644 --- a/dts/framework/testbed_model/topology.py +++ b/dts/framework/testbed_model/topology.py @@ -98,7 +98,7 @@ def node_and_ports_from_id(self, node_identifier: NodeIdentifier) -> tuple[Node, Raises: InternalError: If the given `node_identifier` is invalid. """ - from framework.context import get_ctx + from api.context import get_ctx ctx = get_ctx() match node_identifier: @@ -188,7 +188,7 @@ def instantiate_crypto_ports(self) -> None: Raises: InternalError: If crypto virtual functions could not be created on a port. """ - from framework.context import get_ctx + from api.context import get_ctx ctx = get_ctx() for port in ctx.sut_node.cryptodevs: @@ -214,7 +214,7 @@ def instantiate_vf_ports(self) -> None: Raises: InternalError: If virtual function creation fails. """ - from framework.context import get_ctx + from api.context import get_ctx ctx = get_ctx() @@ -243,7 +243,7 @@ def instantiate_vf_ports(self) -> None: def delete_vf_ports(self) -> None: """Delete virtual functions from the SUT node during test run teardown.""" - from framework.context import get_ctx + from api.context import get_ctx ctx = get_ctx() @@ -254,7 +254,7 @@ def delete_vf_ports(self) -> None: def delete_crypto_vf_ports(self) -> None: """Delete crypto virtual functions from the SUT node during test run teardown.""" - from framework.context import get_ctx + from api.context import get_ctx ctx = get_ctx() @@ -267,7 +267,7 @@ def bind_cryptodevs(self, driver: DriverKind): Args: driver: The driver to bind the crypto functions """ - from framework.context import get_ctx + from api.context import get_ctx self._bind_ports_to_drivers(get_ctx().sut_node, self.crypto_vf_ports, driver) @@ -326,7 +326,7 @@ def _prepare_devbind_script(self) -> None: Raises: InternalError: If dpdk-devbind.py could not be found. """ - from framework.context import get_ctx + from api.context import get_ctx local_script_path = Path("..", "usertools", "dpdk-devbind.py").resolve() valid_script_path = local_script_path.exists() diff --git a/dts/tests/TestSuite_cryptodev_latency.py b/dts/tests/TestSuite_cryptodev_latency.py index 4e7d814faa..ed6423eb26 100644 --- a/dts/tests/TestSuite_cryptodev_latency.py +++ b/dts/tests/TestSuite_cryptodev_latency.py @@ -13,6 +13,7 @@ LinkTopology, requires_link_topology, ) +from api.context import get_ctx from api.cryptodev import Cryptodev from api.cryptodev.config import ( AeadAlgName, @@ -30,7 +31,6 @@ CryptodevResults, ) from api.test import skip, verify -from framework.context import get_ctx from framework.test_suite import BaseConfig, TestSuite, crypto_test from framework.testbed_model.virtual_device import VirtualDevice diff --git a/dts/tests/TestSuite_cryptodev_throughput.py b/dts/tests/TestSuite_cryptodev_throughput.py index 53682f35fa..d69714e1fa 100644 --- a/dts/tests/TestSuite_cryptodev_throughput.py +++ b/dts/tests/TestSuite_cryptodev_throughput.py @@ -13,6 +13,7 @@ LinkTopology, requires_link_topology, ) +from api.context import get_ctx from api.cryptodev import Cryptodev from api.cryptodev.config import ( AeadAlgName, @@ -30,7 +31,6 @@ CryptodevResults, ) from api.test import skip, verify -from framework.context import get_ctx from framework.test_suite import BaseConfig, TestSuite, crypto_test from framework.testbed_model.virtual_device import VirtualDevice diff --git a/dts/tests/TestSuite_l2fwd.py b/dts/tests/TestSuite_l2fwd.py index 1e99b82b8c..574842e2e4 100644 --- a/dts/tests/TestSuite_l2fwd.py +++ b/dts/tests/TestSuite_l2fwd.py @@ -13,6 +13,7 @@ requires_link_topology, requires_nic_capability, ) +from api.context import filter_cores from api.packet import ( get_expected_packets, match_all_packets, @@ -21,7 +22,6 @@ from api.testpmd import TestPmd from api.testpmd.config import EthPeer, SimpleForwardingModes from api.utils import generate_random_packets -from framework.context import filter_cores from framework.test_suite import TestSuite, func_test from framework.testbed_model.cpu import LogicalCoreCount -- 2.55.0

