Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 24 additions & 2 deletions tests/platform/test_sfp.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,19 @@
import pytest

from platform_fixtures import conn_graph_facts
from loganalyzer import LogAnalyzer

ans_host = None
port_mapping = None


def teardown_module():
logging.info("remove script to retrieve port mapping")
file_path = os.path.join('/usr/share/sonic/device', ans_host.facts['platform'], 'plugins/getportmap.py')
ans_host.file(path=file_path, state='absent')

pytestmark = [
pytest.mark.disable_loganalyzer # disable automatic loganalyzer
]

def parse_output(output_lines):
"""
Expand Down Expand Up @@ -98,9 +101,15 @@ def test_check_sfp_status_and_configure_sfp(testbed_devices, conn_graph_facts):
* show interface transceiver eeprom
* sfputil reset <interface name>
"""

ans_host = testbed_devices["dut"]

if ans_host.facts["asic_type"] in ["mellanox"]:
loganalyzer = LogAnalyzer(ansible_host=ans_host, marker_prefix='sfp_cfg')
loganalyzer.load_common_config()

loganalyzer.ignore_regex.append("kernel.*Eeprom query failed*")
marker = loganalyzer.init()

cmd_sfp_presence = "sudo sfputil show presence"
cmd_sfp_eeprom = "sudo sfputil show eeprom"
cmd_sfp_reset = "sudo sfputil reset"
Expand Down Expand Up @@ -166,6 +175,9 @@ def test_check_sfp_status_and_configure_sfp(testbed_devices, conn_graph_facts):
assert len(intf_facts["ansible_interface_link_down_ports"]) == 0, \
"Some interfaces are down: %s" % str(intf_facts["ansible_interface_link_down_ports"])

if ans_host.facts["asic_type"] in ["mellanox"]:
loganalyzer.analyze(marker)


def test_check_sfp_low_power_mode(testbed_devices, conn_graph_facts):
"""
Expand All @@ -178,6 +190,13 @@ def test_check_sfp_low_power_mode(testbed_devices, conn_graph_facts):
"""
ans_host = testbed_devices["dut"]

if ans_host.facts["asic_type"] in ["mellanox"]:
loganalyzer = LogAnalyzer(ansible_host=ans_host, marker_prefix='sfp_lpm')
loganalyzer.load_common_config()

loganalyzer.ignore_regex.append("Eeprom query failed")
marker = loganalyzer.init()

cmd_sfp_presence = "sudo sfputil show presence"
cmd_sfp_show_lpmode = "sudo sfputil show lpmode"
cmd_sfp_set_lpmode = "sudo sfputil lpmode"
Expand Down Expand Up @@ -247,3 +266,6 @@ def test_check_sfp_low_power_mode(testbed_devices, conn_graph_facts):
intf_facts = ans_host.interface_facts(up_ports=mg_facts["minigraph_ports"])["ansible_facts"]
assert len(intf_facts["ansible_interface_link_down_ports"]) == 0, \
"Some interfaces are down: %s" % str(intf_facts["ansible_interface_link_down_ports"])

if ans_host.facts["asic_type"] in ["mellanox"]:
loganalyzer.analyze(marker)