From da0c1b45cd9a0a979c2ea9ae5002ee242b106991 Mon Sep 17 00:00:00 2001 From: Cynthia Tsao Date: Mon, 10 Apr 2023 11:59:03 -0700 Subject: [PATCH 1/5] Update pcieutil load module error message --- pcieutil/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pcieutil/main.py b/pcieutil/main.py index ad6a1ebfa4..0fef193598 100644 --- a/pcieutil/main.py +++ b/pcieutil/main.py @@ -54,7 +54,7 @@ def load_platform_pcieutil(): from sonic_platform.pcie import Pcie platform_pcieutil = Pcie(platform_path) except ImportError as e: - log.log_warning("Failed to load platform Pcie module. Error : {}, fallback to load Pcie common utility.".format(str(e)), True) + log.log_warning("Failed to load platform Pcie module. Warning : {}, fallback to load Pcie common utility.".format(str(e))) try: from sonic_platform_base.sonic_pcie.pcie_common import PcieUtil platform_pcieutil = PcieUtil(platform_path) From f8a39e8e00069aab4aa0a767c603eb8d428c2069 Mon Sep 17 00:00:00 2001 From: Cynthia Tsao Date: Thu, 20 Apr 2023 12:28:52 -0700 Subject: [PATCH 2/5] Add pcieutil test for load module warning to not print to output --- tests/pcieutil_test.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/pcieutil_test.py b/tests/pcieutil_test.py index cee1feec88..21ca9b2eb8 100644 --- a/tests/pcieutil_test.py +++ b/tests/pcieutil_test.py @@ -199,6 +199,11 @@ def test_aer_option_device(self): result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["correctable"], ["-d", "0:1.0"]) assert result.output == pcieutil_pcie_aer_correctable_dev_output + def test_load_pcie_module_warning(self): + runner = CliRunner() + result = runner.invoke(pcieutil.cli.commands["show"]) + assert "Failed to load platform Pcie module. Warning : No module named 'sonic_platform.pcie', fallback to load Pcie common utility." not in result.output + @classmethod def teardown_class(cls): print("TEARDOWN") From 5f1d7cf6673c3b6fb59fe1b74f044ef3b184d32a Mon Sep 17 00:00:00 2001 From: Cynthia Tsao Date: Thu, 4 May 2023 14:11:46 -0700 Subject: [PATCH 3/5] Update pcieutil import test --- tests/pcieutil_test.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/pcieutil_test.py b/tests/pcieutil_test.py index 21ca9b2eb8..16a7b17048 100644 --- a/tests/pcieutil_test.py +++ b/tests/pcieutil_test.py @@ -156,6 +156,8 @@ +---------------------+-----------+ """ +pcieutil_load_module_warning_msg = "Failed to load platform Pcie module. Warning : No module named 'sonic_platform.pcie', fallback to load Pcie common utility." + class TestPcieUtil(object): @classmethod def setup_class(cls): @@ -201,8 +203,11 @@ def test_aer_option_device(self): def test_load_pcie_module_warning(self): runner = CliRunner() + sys_path = sys.path + sys.path = [''] result = runner.invoke(pcieutil.cli.commands["show"]) - assert "Failed to load platform Pcie module. Warning : No module named 'sonic_platform.pcie', fallback to load Pcie common utility." not in result.output + assert pcieutil_load_module_warning_msg not in result.output + sys.path = sys_path @classmethod def teardown_class(cls): From b3aedb2da9898594002426a2dd87ab12092e1d9f Mon Sep 17 00:00:00 2001 From: Cynthia Tsao Date: Thu, 4 May 2023 16:34:21 -0700 Subject: [PATCH 4/5] Update pcieutil import test --- tests/pcieutil_test.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/pcieutil_test.py b/tests/pcieutil_test.py index 16a7b17048..a2418d8f0b 100644 --- a/tests/pcieutil_test.py +++ b/tests/pcieutil_test.py @@ -3,6 +3,7 @@ from unittest import mock from click.testing import CliRunner +from io import StringIO test_path = os.path.dirname(os.path.abspath(__file__)) modules_path = os.path.dirname(test_path) @@ -201,13 +202,12 @@ def test_aer_option_device(self): result = runner.invoke(pcieutil.cli.commands["pcie-aer"].commands["correctable"], ["-d", "0:1.0"]) assert result.output == pcieutil_pcie_aer_correctable_dev_output - def test_load_pcie_module_warning(self): - runner = CliRunner() - sys_path = sys.path - sys.path = [''] - result = runner.invoke(pcieutil.cli.commands["show"]) - assert pcieutil_load_module_warning_msg not in result.output - sys.path = sys_path + def test_load_pcie_module_warning(self): + stdout = sys.stdout + sys.stdout = result = StringIO() + pcieutil.load_platform_pcieutil() + sys.stdout = stdout + assert pcieutil_load_module_warning_msg not in result.get_value() @classmethod def teardown_class(cls): From 55af02c7f55b02732572a0cd2b4c3b18cea44e66 Mon Sep 17 00:00:00 2001 From: Cynthia Tsao Date: Fri, 5 May 2023 11:11:36 -0700 Subject: [PATCH 5/5] Fix pcieutil import test --- tests/pcieutil_test.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/pcieutil_test.py b/tests/pcieutil_test.py index a2418d8f0b..acac60f8d5 100644 --- a/tests/pcieutil_test.py +++ b/tests/pcieutil_test.py @@ -205,9 +205,12 @@ def test_aer_option_device(self): def test_load_pcie_module_warning(self): stdout = sys.stdout sys.stdout = result = StringIO() - pcieutil.load_platform_pcieutil() + try: + pcieutil.load_platform_pcieutil() + except ImportError: + pass sys.stdout = stdout - assert pcieutil_load_module_warning_msg not in result.get_value() + assert pcieutil_load_module_warning_msg not in result.getvalue() @classmethod def teardown_class(cls):