From: Andrew Bailey <[email protected]>

Some of the DTS test suites require two link topologies
in order to run, but not all truly require two links
for proper testing. Rewrite the topology requirements
on these test suites to reflect the actual
requirements.

Signed-off-by: Andrew Bailey <[email protected]>
Signed-off-by: Dean Marx <[email protected]>
Reviewed-by: Patrick Robb <[email protected]>
---
 dts/framework/test_suite.py             | 8 ++++----
 dts/tests/TestSuite_blocklist.py        | 3 ++-
 dts/tests/TestSuite_checksum_offload.py | 3 ---
 dts/tests/TestSuite_dual_vlan.py        | 2 ++
 dts/tests/TestSuite_port_control.py     | 3 ---
 dts/tests/TestSuite_uni_pkt.py          | 3 ---
 dts/tests/TestSuite_vlan.py             | 2 +-
 7 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/dts/framework/test_suite.py b/dts/framework/test_suite.py
index e86096cefe..69ce26040a 100644
--- a/dts/framework/test_suite.py
+++ b/dts/framework/test_suite.py
@@ -23,7 +23,7 @@
 from ipaddress import IPv4Interface, IPv6Interface, ip_interface
 from pkgutil import iter_modules
 from types import ModuleType
-from typing import TYPE_CHECKING, ClassVar, Protocol, TypeVar, Union, cast
+from typing import TYPE_CHECKING, Any, ClassVar, Protocol, TypeVar, Union, cast
 
 from scapy.layers.inet import IP
 from scapy.packet import Packet
@@ -332,11 +332,11 @@ def _decorator(func: TestSuiteMethodType) -> 
type[TestCase]:
 
 
 #: The decorator for functional test cases.
-func_test: Callable = TestCase.make_decorator(TestCaseType.FUNCTIONAL)
+func_test: Callable[[Any], type["TestCase"]] = 
TestCase.make_decorator(TestCaseType.FUNCTIONAL)
 #: The decorator for performance test cases.
-perf_test: Callable = TestCase.make_decorator(TestCaseType.PERFORMANCE)
+perf_test: Callable[[Any], type["TestCase"]] = 
TestCase.make_decorator(TestCaseType.PERFORMANCE)
 #: The decorator for cryptography test cases.
-crypto_test: Callable = TestCase.make_decorator(TestCaseType.CRYPTO)
+crypto_test: Callable[[Any], type["TestCase"]] = 
TestCase.make_decorator(TestCaseType.CRYPTO)
 
 
 @dataclass
diff --git a/dts/tests/TestSuite_blocklist.py b/dts/tests/TestSuite_blocklist.py
index ba37f39ab3..c57231de22 100644
--- a/dts/tests/TestSuite_blocklist.py
+++ b/dts/tests/TestSuite_blocklist.py
@@ -16,7 +16,6 @@
 from framework.testbed_model.port import Port
 
 
-@requires_link_topology(LinkTopology.TWO_LINKS)
 class TestBlocklist(TestSuite):
     """DPDK device blocklisting test suite."""
 
@@ -45,6 +44,7 @@ def no_blocklisted(self) -> None:
         """
         self._verify_blocklisted_ports([])
 
+    @requires_link_topology(LinkTopology.TWO_LINKS)
     @func_test
     def one_port_blocklisted(self) -> None:
         """Run testpmd with one blocklisted port.
@@ -57,6 +57,7 @@ def one_port_blocklisted(self) -> None:
         """
         self._verify_blocklisted_ports(self.topology.sut_ports[:1])
 
+    @requires_link_topology(LinkTopology.TWO_LINKS)
     @func_test
     def all_but_one_port_blocklisted(self) -> None:
         """Run testpmd with all but one blocklisted port.
diff --git a/dts/tests/TestSuite_checksum_offload.py 
b/dts/tests/TestSuite_checksum_offload.py
index 394a73c31d..90ca798e56 100644
--- a/dts/tests/TestSuite_checksum_offload.py
+++ b/dts/tests/TestSuite_checksum_offload.py
@@ -20,9 +20,7 @@
 from scapy.packet import Packet, Raw
 
 from api.capabilities import (
-    LinkTopology,
     NicCapability,
-    requires_link_topology,
     requires_nic_capability,
 )
 from api.packet import send_packet_and_capture
@@ -33,7 +31,6 @@
 from framework.test_suite import TestSuite, func_test
 
 
-@requires_link_topology(LinkTopology.TWO_LINKS)
 @requires_nic_capability(NicCapability.PORT_RX_OFFLOAD_IPV4_CKSUM)
 @requires_nic_capability(NicCapability.PORT_RX_OFFLOAD_UDP_CKSUM)
 @requires_nic_capability(NicCapability.PORT_RX_OFFLOAD_TCP_CKSUM)
diff --git a/dts/tests/TestSuite_dual_vlan.py b/dts/tests/TestSuite_dual_vlan.py
index 860eae7424..1b77dd2b47 100644
--- a/dts/tests/TestSuite_dual_vlan.py
+++ b/dts/tests/TestSuite_dual_vlan.py
@@ -18,6 +18,7 @@
 from scapy.layers.l2 import Dot1Q, Ether
 from scapy.packet import Packet, Raw
 
+from api.capabilities import LinkTopology, requires_link_topology
 from api.packet import send_packet_and_capture
 from api.test import verify
 from api.testpmd import TestPmd
@@ -161,6 +162,7 @@ def _configure_testpmd(self, shell: TestPmd, options: 
TestCaseOptions, add: bool
         if self.TestCaseOptions.VLAN_STRIP in options:
             shell.set_vlan_strip(self.rx_port, add)
 
+    @requires_link_topology(LinkTopology.TWO_LINKS)
     @func_test
     def insert_second_vlan(self) -> None:
         """Test that a packet with a single VLAN can have an additional one 
inserted into it.
diff --git a/dts/tests/TestSuite_port_control.py 
b/dts/tests/TestSuite_port_control.py
index d9cc5ff4c9..6be47838d0 100644
--- a/dts/tests/TestSuite_port_control.py
+++ b/dts/tests/TestSuite_port_control.py
@@ -13,9 +13,7 @@
 from scapy.packet import Packet, Raw
 
 from api.capabilities import (
-    LinkTopology,
     NicCapability,
-    requires_link_topology,
     requires_nic_capability,
 )
 from api.packet import send_packets_and_capture
@@ -26,7 +24,6 @@
 
 
 @requires_nic_capability(NicCapability.PHYSICAL_FUNCTION)
-@requires_link_topology(LinkTopology.TWO_LINKS)
 class TestPortControl(TestSuite):
     """DPDK Port Control Testing Suite."""
 
diff --git a/dts/tests/TestSuite_uni_pkt.py b/dts/tests/TestSuite_uni_pkt.py
index 97d61cd03a..222276ce67 100644
--- a/dts/tests/TestSuite_uni_pkt.py
+++ b/dts/tests/TestSuite_uni_pkt.py
@@ -20,9 +20,7 @@
 from scapy.packet import Packet, Raw
 
 from api.capabilities import (
-    LinkTopology,
     NicCapability,
-    requires_link_topology,
     requires_nic_capability,
 )
 from api.packet import send_packet_and_capture
@@ -33,7 +31,6 @@
 from framework.test_suite import TestSuite, func_test
 
 
-@requires_link_topology(LinkTopology.TWO_LINKS)
 class TestUniPkt(TestSuite):
     """DPDK Unified packet test suite.
 
diff --git a/dts/tests/TestSuite_vlan.py b/dts/tests/TestSuite_vlan.py
index 2c5abd68bf..898673fc86 100644
--- a/dts/tests/TestSuite_vlan.py
+++ b/dts/tests/TestSuite_vlan.py
@@ -29,7 +29,6 @@
 
 
 @requires_nic_capability(NicCapability.PORT_RX_OFFLOAD_VLAN_FILTER)
-@requires_link_topology(LinkTopology.TWO_LINKS)
 class TestVlan(TestSuite):
     """DPDK VLAN test suite.
 
@@ -178,6 +177,7 @@ def vlan_no_receipt(self) -> None:
             testpmd.start()
             self._send_vlan_packet_and_verify(should_receive=False, 
strip=False, vlan_id=2)
 
+    @requires_link_topology(LinkTopology.TWO_LINKS)
     @func_test
     def vlan_header_insertion(self) -> None:
         """Ensure that VLAN packet is received with the correct inserted VLAN 
tag.
-- 
2.49.0

Reply via email to