Skip to content

Commit c4a4582

Browse files
[snappi/pfcwd]: Refactor pfcwd basic test to enable dynamic port selection from setup in snappi (#23225) (#23369)
Replace setup_ports_and_dut with tgen_port_info fixture in test_pfcwd_basic_with_snappi.py for dynamic port selection Signed-off-by: Edi Wibowo <[email protected]> Signed-off-by: mssonicbld <[email protected]> Co-authored-by: ediwibowo-msft <[email protected]>
1 parent 605bee8 commit c4a4582

1 file changed

Lines changed: 24 additions & 17 deletions

File tree

tests/snappi_tests/pfcwd/test_pfcwd_basic_with_snappi.py

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
fanout_graph_facts_multidut # noqa: F401
1010
from tests.common.snappi_tests.snappi_fixtures import snappi_api_serv_ip, snappi_api_serv_port, \
1111
get_snappi_ports_single_dut, snappi_testbed_config, \
12-
get_snappi_ports_multi_dut, is_snappi_multidut, \
12+
get_snappi_ports_multi_dut, is_snappi_multidut, snappi_port_selection, tgen_port_info, \
1313
snappi_api, snappi_dut_base_config, get_snappi_ports, get_snappi_ports_for_rdma, cleanup_config # noqa: F401
1414
from tests.common.snappi_tests.qos_fixtures import prio_dscp_map, lossless_prio_list # noqa: F401
1515
from tests.common.reboot import reboot # noqa: F401
@@ -18,7 +18,7 @@
1818
from tests.common.platform.interface_utils import check_interface_status_of_up_ports
1919
from tests.snappi_tests.pfcwd.files.pfcwd_basic_helper import run_pfcwd_basic_test
2020
from tests.common.snappi_tests.snappi_test_params import SnappiTestParams
21-
from tests.snappi_tests.files.helper import skip_pfcwd_test, reboot_duts, \
21+
from tests.snappi_tests.files.helper import reboot_duts, \
2222
setup_ports_and_dut, multidut_port_info # noqa: F401
2323
logger = logging.getLogger(__name__)
2424
pytestmark = [pytest.mark.topology('multidut-tgen', 'tgen')]
@@ -27,14 +27,14 @@
2727
INTERVAL = 40
2828

2929

30-
@pytest.fixture(autouse=True)
30+
@pytest.fixture(autouse=True, scope='module')
3131
def number_of_tx_rx_ports():
3232
yield (1, 1)
3333

3434

3535
@pytest.fixture(autouse=False)
36-
def save_restore_config(setup_ports_and_dut): # noqa: F811
37-
testbed_config, port_config_list, snappi_ports = setup_ports_and_dut
36+
def save_restore_config(tgen_port_info): # noqa: F811
37+
testbed_config, port_config_list, snappi_ports = tgen_port_info
3838
timestamp = time.time()
3939
dest = f'~/{timestamp}'
4040

@@ -59,7 +59,7 @@ def test_pfcwd_basic_single_lossless_prio(snappi_api, # noqa:
5959
lossless_prio_list, # noqa: F811
6060
tbinfo, # noqa: F811
6161
prio_dscp_map, # noqa: F811
62-
setup_ports_and_dut, # noqa: F811
62+
tgen_port_info, # noqa: F811
6363
trigger_pfcwd, # noqa: F811
6464
):
6565
"""
@@ -76,7 +76,8 @@ def test_pfcwd_basic_single_lossless_prio(snappi_api, # noqa:
7676
Returns:
7777
N/A
7878
"""
79-
testbed_config, port_config_list, snappi_ports = setup_ports_and_dut
79+
testbed_config, port_config_list, snappi_ports = tgen_port_info
80+
logger.info('Peer Ports: {}'.format([port['peer_port'] for port in snappi_ports]))
8081

8182
lossless_prio = random.sample(lossless_prio_list, 1)
8283
lossless_prio = int(lossless_prio[0])
@@ -104,7 +105,7 @@ def test_pfcwd_basic_multi_lossless_prio(snappi_api, # noqa: F811
104105
lossless_prio_list, # noqa: F811
105106
tbinfo, # noqa: F811
106107
prio_dscp_map, # noqa: F811
107-
setup_ports_and_dut, # noqa: F811
108+
tgen_port_info, # noqa: F811
108109
trigger_pfcwd):
109110
"""
110111
Run PFC watchdog basic test on multiple lossless priorities
@@ -121,7 +122,8 @@ def test_pfcwd_basic_multi_lossless_prio(snappi_api, # noqa: F811
121122
Returns:
122123
N/A
123124
"""
124-
testbed_config, port_config_list, snappi_ports = setup_ports_and_dut
125+
testbed_config, port_config_list, snappi_ports = tgen_port_info
126+
logger.info('Ports:{}'.format(snappi_ports))
125127

126128
snappi_extra_params = SnappiTestParams()
127129
snappi_extra_params.multi_dut_params.multi_dut_ports = snappi_ports
@@ -148,7 +150,7 @@ def test_pfcwd_basic_single_lossless_prio_reboot(snappi_api, # no
148150
enum_dut_lossless_prio_with_completeness_level, # noqa: F811
149151
get_snappi_ports, # noqa: F811
150152
prio_dscp_map, # noqa: F811
151-
setup_ports_and_dut, # noqa: F811
153+
tgen_port_info, # noqa: F811
152154
reboot_duts, # noqa: F811
153155
trigger_pfcwd):
154156
"""
@@ -167,7 +169,8 @@ def test_pfcwd_basic_single_lossless_prio_reboot(snappi_api, # no
167169
N/A
168170
"""
169171

170-
testbed_config, port_config_list, snappi_ports = setup_ports_and_dut
172+
testbed_config, port_config_list, snappi_ports = tgen_port_info
173+
logger.info('Ports:{}'.format(snappi_ports))
171174

172175
_, lossless_prio = enum_dut_lossless_prio_with_completeness_level.split('|')
173176
lossless_prio = int(lossless_prio)
@@ -195,7 +198,7 @@ def test_pfcwd_basic_multi_lossless_prio_reboot(snappi_api, # no
195198
lossless_prio_list, # noqa: F811
196199
tbinfo, # noqa: F811
197200
prio_dscp_map, # noqa: F811
198-
setup_ports_and_dut, # noqa: F811
201+
tgen_port_info, # noqa: F811
199202
reboot_duts, # noqa: F811
200203
trigger_pfcwd):
201204
"""
@@ -214,7 +217,8 @@ def test_pfcwd_basic_multi_lossless_prio_reboot(snappi_api, # no
214217
Returns:
215218
N/A
216219
"""
217-
testbed_config, port_config_list, snappi_ports = setup_ports_and_dut
220+
testbed_config, port_config_list, snappi_ports = tgen_port_info
221+
logger.info('Ports:{}'.format(snappi_ports))
218222

219223
snappi_extra_params = SnappiTestParams()
220224
snappi_extra_params.multi_dut_params.multi_dut_ports = snappi_ports
@@ -243,7 +247,7 @@ def test_pfcwd_basic_single_lossless_prio_service_restart(snappi_api,
243247
prio_dscp_map, # noqa: F811
244248
restart_service,
245249
trigger_pfcwd,
246-
setup_ports_and_dut, # noqa: F811
250+
tgen_port_info, # noqa: F811
247251
save_restore_config):
248252
"""
249253
Verify PFC watchdog basic test works on a single lossless priority after various service restarts
@@ -260,7 +264,9 @@ def test_pfcwd_basic_single_lossless_prio_service_restart(snappi_api,
260264
Returns:
261265
N/A
262266
"""
263-
testbed_config, port_config_list, snappi_ports = setup_ports_and_dut
267+
testbed_config, port_config_list, snappi_ports = tgen_port_info
268+
logger.info('Ports:{}'.format(snappi_ports))
269+
264270
lossless_prio = random.sample(lossless_prio_list, 1)
265271
lossless_prio = int(lossless_prio[0])
266272

@@ -328,7 +334,7 @@ def test_pfcwd_basic_multi_lossless_prio_restart_service(snappi_api,
328334
tbinfo, # noqa: F811
329335
prio_dscp_map, # noqa: F811
330336
restart_service,
331-
setup_ports_and_dut, # noqa: F811
337+
tgen_port_info, # noqa: F811
332338
trigger_pfcwd,
333339
save_restore_config):
334340
"""
@@ -348,7 +354,8 @@ def test_pfcwd_basic_multi_lossless_prio_restart_service(snappi_api,
348354
N/A
349355
"""
350356

351-
testbed_config, port_config_list, snappi_ports = setup_ports_and_dut
357+
testbed_config, port_config_list, snappi_ports = tgen_port_info
358+
logger.info('Ports:{}'.format(snappi_ports))
352359

353360
if (snappi_ports[0]['duthost'].is_multi_asic):
354361
ports_dict = defaultdict(list)

0 commit comments

Comments
 (0)