diff --git a/tests/pfcwd/files/pfcwd_helper.py b/tests/pfcwd/files/pfcwd_helper.py index 4ee06dea2ba..261bc135881 100644 --- a/tests/pfcwd/files/pfcwd_helper.py +++ b/tests/pfcwd/files/pfcwd_helper.py @@ -225,10 +225,20 @@ def select_test_ports(test_ports): selected_ports (dict): random port info or set of ports matching seed """ selected_ports = dict() + rx_ports = set() seed = int(datetime.datetime.today().day) - for key, value in test_ports.items(): - if (int(value['test_port_id']) % 15) == (seed % 15): - selected_ports.update({key:value}) + for port, port_info in test_ports.items(): + rx_port = port_info["rx_port"] + if isinstance(rx_port, (list, tuple)): + rx_ports.update(rx_port) + else: + rx_ports.add(rx_port) + if (int(port_info['test_port_id']) % 15) == (seed % 15): + selected_ports[port] = port_info + + # filter out selected ports that also act as rx ports + selected_ports = {p: pi for p, pi in selected_ports.items() + if p not in rx_port} if not selected_ports: random_port = test_ports.keys()[0]