From ae56a8a8fb17ce85611a990e5b25c14fe7feb7e2 Mon Sep 17 00:00:00 2001 From: bingwang-ms <66248323+bingwang-ms@users.noreply.github.com> Date: Fri, 29 Mar 2024 08:42:20 -0700 Subject: [PATCH] Improve test_pfc_pause to support dualtor (#12229) * Improve test_pfc_pause to support dualtor --- tests/qos/test_pfc_pause.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/qos/test_pfc_pause.py b/tests/qos/test_pfc_pause.py index 61dd0e429bc..bda22865cab 100644 --- a/tests/qos/test_pfc_pause.py +++ b/tests/qos/test_pfc_pause.py @@ -15,6 +15,7 @@ from tests.common.fixtures.ptfhost_utils import set_ptf_port_mapping_mode # noqa F401 from tests.common.helpers.assertions import pytest_assert from tests.common.helpers.pfc_storm import PFCStorm +from tests.common.dualtor.mux_simulator_control import toggle_all_simulator_ports_to_rand_selected_tor # noqa F401 pytestmark = [ pytest.mark.topology('t0') @@ -290,26 +291,31 @@ def test_pfc_pause_lossless(pfc_test_setup, fanouthosts, duthost, ptfhost, pytest_assert(len(test_errors) == 0, test_errors) -def test_no_pfc(pfc_test_setup, fanouthosts, duthost, ptfhost, conn_graph_facts, # noqa F811 - fanout_graph_facts, lossless_prio_dscp_map, enum_dut_lossless_prio): # noqa F811 +def test_no_pfc(pfc_test_setup, fanouthosts, rand_selected_dut, ptfhost, conn_graph_facts, # noqa F811 + fanout_graph_facts, lossless_prio_dscp_map, enum_dut_lossless_prio, # noqa F811 + toggle_all_simulator_ports_to_rand_selected_tor): # noqa F811 """ Test if lossless and lossy priorities can forward packets in the absence of PFC pause frames Args: pfc_test_setup(fixture) : setup fixture fanouthosts(AnsibleHost) : fanout instance - duthost(AnsibleHost) : dut instance + rand_selected_dut(AnsibleHost) : dut instance ptfhost(AnsibleHost) : ptf instance conn_graph_facts(fixture) : Testbed topology fanout_graph_facts(fixture) : fanout graph info lossless_prio_dscp_map(dict) : lossless priorities and their DSCP values enum_dut_lossless_prio (str): name of lossless priority to test """ - + duthost = rand_selected_dut test_errors = "" errors = [] setup = pfc_test_setup prio = int(enum_dut_lossless_prio.split('|')[-1]) + # Skip the extra lossless priority test if 4 lossless prio is not enabled on testing port + if prio not in lossless_prio_dscp_map: + pytest.skip("lossless prio {} not enabled on testing port".format(prio)) + dscp = lossless_prio_dscp_map[prio] other_lossless_prio = 4 if prio == 3 else 3