From 9ad9ab2722beaff58d27564163795a97b125203f Mon Sep 17 00:00:00 2001 From: cytsao1 <111393130+cytsao1@users.noreply.github.com> Date: Fri, 19 May 2023 19:17:32 -0700 Subject: [PATCH] Update pcieutil error message on loading common pcie module (#2786) * Update pcieutil load module error message * Add pcieutil test for load module warning to not print to output * Update pcieutil import test * Update pcieutil import test * Fix pcieutil import test --- pcieutil/main.py | 2 +- tests/pcieutil_test.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pcieutil/main.py b/pcieutil/main.py index ad6a1ebfa46..0fef1935982 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) diff --git a/tests/pcieutil_test.py b/tests/pcieutil_test.py index cee1feec882..acac60f8d55 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) @@ -156,6 +157,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): @@ -199,6 +202,16 @@ 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): + stdout = sys.stdout + sys.stdout = result = StringIO() + try: + pcieutil.load_platform_pcieutil() + except ImportError: + pass + sys.stdout = stdout + assert pcieutil_load_module_warning_msg not in result.getvalue() + @classmethod def teardown_class(cls): print("TEARDOWN")