From 2faca2b9da29e300719e2010f8d6e1c9f09c2054 Mon Sep 17 00:00:00 2001 From: Stephen Sun Date: Tue, 18 Oct 2022 09:39:34 +0000 Subject: [PATCH 1/2] CmisApi catch AttributeError as well Signed-off-by: Stephen Sun --- sonic_platform_base/sonic_xcvr/api/public/cmis.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonic_platform_base/sonic_xcvr/api/public/cmis.py b/sonic_platform_base/sonic_xcvr/api/public/cmis.py index 7f31a0345..5ad3c1456 100644 --- a/sonic_platform_base/sonic_xcvr/api/public/cmis.py +++ b/sonic_platform_base/sonic_xcvr/api/public/cmis.py @@ -1867,7 +1867,7 @@ def get_application_advertisement(self): # Read the application advertisement in page01 try: dic.update(self.xcvr_eeprom.read(consts.APPLS_ADVT_FIELD_PAGE01)) - except TypeError as e: + except (TypeError, AttributeError) as e: logger.error('Failed to read APPLS_ADVT_FIELD_PAGE01: ' + str(e)) return ret From 2b113e45384df8a5158661b32934976a1d6e549e Mon Sep 17 00:00:00 2001 From: Stephen Sun Date: Fri, 21 Oct 2022 04:52:18 +0000 Subject: [PATCH 2/2] Meet the coverage requirement Signed-off-by: Stephen Sun --- tests/sonic_xcvr/test_cmis.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/sonic_xcvr/test_cmis.py b/tests/sonic_xcvr/test_cmis.py index a174eb50f..2450dea9f 100644 --- a/tests/sonic_xcvr/test_cmis.py +++ b/tests/sonic_xcvr/test_cmis.py @@ -1970,6 +1970,12 @@ def test_get_application_advertisement(self): assert result[1]['media_lane_count'] == 4 assert result[1]['host_lane_assignment_options'] == 0x01 + def test_get_application_advertisement_non_support(self): + self.api.xcvr_eeprom.read = MagicMock(return_value = None) + self.api.is_flat_memory = MagicMock(return_value = False) + result = self.api.get_application_advertisement() + assert result == {} + def test_get_application(self): self.api.xcvr_eeprom.read = MagicMock() self.api.xcvr_eeprom.read.return_value = 0x20