[v10] dts: port over queue start/stop suite

Message ID 20241008214803.19208-2-dmarx@iol.unh.edu (mailing list archive)
State Superseded, archived
Delegated to: Paul Szczepanek
Headers
Series [v10] dts: port over queue start/stop suite |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation warning apply patch failure
ci/Intel-compilation warning apply issues
ci/iol-testing warning apply patch failure

Commit Message

Dean Marx Oct. 8, 2024, 9:48 p.m. UTC
This suite tests the ability of the Poll Mode Driver to enable
and disable Rx/Tx queues on a port.

Depends-on: patch-144442 ("dts: add port queue modification
and forwarding stats to testpmd")

Signed-off-by: Dean Marx <dmarx@iol.unh.edu>
Reviewed-by: Jeremy Spewock <jspewock@iol.unh.edu>
---
 dts/framework/config/conf_yaml_schema.json |  3 ++-
 dts/tests/TestSuite_queue_start_stop.py    | 16 +++++++---------
 2 files changed, 9 insertions(+), 10 deletions(-)
  

Patch

diff --git a/dts/framework/config/conf_yaml_schema.json b/dts/framework/config/conf_yaml_schema.json
index df390e8ae2..12a4a26dc8 100644
--- a/dts/framework/config/conf_yaml_schema.json
+++ b/dts/framework/config/conf_yaml_schema.json
@@ -187,7 +187,8 @@ 
       "enum": [
         "hello_world",
         "os_udp",
-        "pmd_buffer_scatter"
+        "pmd_buffer_scatter",
+        "queue_start_stop"
       ]
     },
     "test_target": {
diff --git a/dts/tests/TestSuite_queue_start_stop.py b/dts/tests/TestSuite_queue_start_stop.py
index 7533f0b395..389030ae8c 100644
--- a/dts/tests/TestSuite_queue_start_stop.py
+++ b/dts/tests/TestSuite_queue_start_stop.py
@@ -17,9 +17,13 @@ 
 from scapy.packet import Raw  # type: ignore[import-untyped]
 
 from framework.remote_session.testpmd_shell import SimpleForwardingModes, TestPmdShell
-from framework.test_suite import TestSuite
+from framework.test_suite import TestSuite, func_test
+from framework.testbed_model.capability import NicCapability, TopologyType, requires
 
 
+@requires(topology_type=TopologyType.two_links)
+@requires(NicCapability.RUNTIME_RX_QUEUE_SETUP)
+@requires(NicCapability.RUNTIME_TX_QUEUE_SETUP)
 class TestQueueStartStop(TestSuite):
     """DPDK Queue start/stop test suite.
 
@@ -30,14 +34,6 @@  class TestQueueStartStop(TestSuite):
     queue and verify that packets are not received/forwarded.
     """
 
-    def set_up_suite(self) -> None:
-        """Set up the test suite.
-
-        Setup:
-            Verify that at least two ports are open for session.
-        """
-        self.verify(len(self._port_links) > 1, "Not enough ports")
-
     def send_packet_and_verify(self, should_receive: bool = True) -> None:
         """Generate a packet, send to the DUT, and verify it is forwarded back.
 
@@ -54,6 +50,7 @@  def send_packet_and_verify(self, should_receive: bool = True) -> None:
             f"Packet was {'dropped' if should_receive else 'received'}",
         )
 
+    @func_test
     def test_rx_queue_start_stop(self) -> None:
         """Verify packets are not received by port 0 when Rx queue is disabled.
 
@@ -72,6 +69,7 @@  def test_rx_queue_start_stop(self) -> None:
                 "Packets were received on Rx queue when it should've been disabled",
             )
 
+    @func_test
     def test_tx_queue_start_stop(self) -> None:
         """Verify packets are not forwarded by port 1 when Tx queue is disabled.