diff --git a/tests/platform_tests/api/test_chassis.py b/tests/platform_tests/api/test_chassis.py index 5207474db0..0f4e13479c 100644 --- a/tests/platform_tests/api/test_chassis.py +++ b/tests/platform_tests/api/test_chassis.py @@ -4,6 +4,8 @@ import pytest import yaml +from natsort import natsorted + from tests.common.helpers.assertions import pytest_assert from tests.common.helpers.platform_api import chassis, module from tests.common.fixtures.conn_graph_facts import conn_graph_facts @@ -61,7 +63,15 @@ @pytest.fixture(scope="module") def physical_port_indices(duthosts, enum_rand_one_per_hwsku_hostname): duthost = duthosts[enum_rand_one_per_hwsku_hostname] - return get_physical_port_indices(duthost) + port_map = get_physical_port_indices(duthost) + result = [] + visited_intfs = set() + for intf in natsorted(port_map.keys()): + if intf in visited_intfs: + continue + visited_intfs.add(intf) + result.append(port_map[intf]) + return result @pytest.fixture(scope="class") def gather_facts(request, duthosts): @@ -378,7 +388,6 @@ def test_sfps(self, duthosts, enum_rand_one_per_hwsku_hostname, localhost, platf num_sfps = int(chassis.get_num_sfps(platform_api_conn)) except: pytest.fail("num_sfps is not an integer") - list_sfps = [] list_sfps = physical_port_indices logging.info("Physical port indices = {}".format(list_sfps)) if duthost.facts.get("chassis"):