Skip to content

Commit

Permalink
Address review comment
Browse files Browse the repository at this point in the history
  • Loading branch information
prgeor committed Nov 25, 2021
1 parent 66f9cb3 commit 4f77aa6
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 63 deletions.
38 changes: 26 additions & 12 deletions sonic_platform_base/sonic_xcvr/api/public/cmis.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,9 +186,9 @@ def get_transceiver_bulk_status(self):
}

for i in range(1, self.NUM_CHANNELS + 1):
bulk_status["tx%dbias" % i] = tx_bias['LaserBiasTx%dField' % i]
bulk_status["rx%dpower" % i] = rx_power['OpticalPowerRx%dField' %i]
bulk_status["tx%dpower" % i] = tx_power['OpticalPowerTx%dField' %i]
bulk_status["tx%dbias" % i] = tx_bias[i - 1]
bulk_status["rx%dpower" % i] = rx_power[i - 1]
bulk_status["tx%dpower" % i] = tx_power[i - 1]

laser_temp_dict = self.get_laser_temperature()
bulk_status['laser_temperature'] = laser_temp_dict['monitor value']
Expand Down Expand Up @@ -457,9 +457,13 @@ def get_tx_bias(self):
tx_bias_support = self.get_tx_bias_support()
if tx_bias_support is None:
return None
if not tx_bias_support:
return {'LaserBiasTx%dField' % i : "N/A" for i in range(1, self.NUM_CHANNELS+1)}
tx_bias = self.xcvr_eeprom.read(consts.TX_BIAS_FIELD)
tx_bias = ["N/A" for _ in range(self.NUM_CHANNELS)]

if tx_bias_support:
tx_bias = self.xcvr_eeprom.read(consts.TX_BIAS_FIELD)
if tx_bias is not None:
tx_bias = [tx_bias['LaserBiasTx%dField' % i] for i in range(1, self.NUM_CHANNELS+1)]

return tx_bias

def get_tx_power(self):
Expand All @@ -469,9 +473,14 @@ def get_tx_power(self):
tx_power_support = self.get_tx_power_support()
if tx_power_support is None:
return None
if not tx_power_support:
return {'OpticalPowerTx%dField' %i : "N/A" for i in range(1, self.NUM_CHANNELS+1)}
tx_power = self.xcvr_eeprom.read(consts.TX_POWER_FIELD)

tx_power = ["N/A" for _ in range(self.NUM_CHANNELS)]

if tx_power_support:
tx_power = self.xcvr_eeprom.read(consts.TX_POWER_FIELD)
if tx_power is not None:
tx_power = [tx_power['OpticalPowerTx%dField' %i] for i in range(1, self.NUM_CHANNELS+1)]

return tx_power

def get_tx_power_support(self):
Expand All @@ -484,9 +493,14 @@ def get_rx_power(self):
rx_power_support = self.get_rx_power_support()
if rx_power_support is None:
return None
if not rx_power_support:
return {'OpticalPowerRx%dField' %i : "N/A" for i in range(1, self.NUM_CHANNELS+1)}
rx_power = self.xcvr_eeprom.read(consts.RX_POWER_FIELD)

rx_power = ["N/A" for _ in range(self.NUM_CHANNELS)]

if rx_power_support:
rx_power = self.xcvr_eeprom.read(consts.RX_POWER_FIELD)
if rx_power is None:
rx_power = [rx_power['OpticalPowerRx%dField' %i] for i in range(1, self.NUM_CHANNELS+1)]

return rx_power

def get_rx_power_support(self):
Expand Down
54 changes: 3 additions & 51 deletions tests/sonic_xcvr/test_cmis.py
Original file line number Diff line number Diff line change
Expand Up @@ -348,19 +348,6 @@ def test_get_tx_bias_support(self, mock_response, expected):
result = self.api.get_tx_bias_support()
assert result == expected

@pytest.mark.parametrize("mock_response, expected", [
([True, {'TxBias1': 0}], {'TxBias1': 0}),
([False, {'TxBias1': 0}], {'LaserBiasTx%dField' % (i) : "N/A" for i in range(1, 9)}),
([None, None], None)
])
def test_get_tx_bias(self, mock_response, expected):
self.api.get_tx_bias_support = MagicMock()
self.api.get_tx_bias_support.return_value = mock_response[0]
self.api.xcvr_eeprom.read = MagicMock()
self.api.xcvr_eeprom.read.return_value = mock_response[1]
result = self.api.get_tx_bias()
assert result == expected

@pytest.mark.parametrize("mock_response, expected", [
(False, True)
])
Expand All @@ -370,19 +357,6 @@ def test_get_tx_power_support(self, mock_response, expected):
result = self.api.get_tx_power_support()
assert result == expected

@pytest.mark.parametrize("mock_response, expected", [
([True, {'TxPower1': 0}], {'TxPower1': 0}),
([False, {'TxPower1': 0}], {'OpticalPowerTx%dField' % (i) : "N/A" for i in range(1, 9)}),
([None, None], None)
])
def test_get_tx_power(self, mock_response, expected):
self.api.get_tx_power_support = MagicMock()
self.api.get_tx_power_support.return_value = mock_response[0]
self.api.xcvr_eeprom.read = MagicMock()
self.api.xcvr_eeprom.read.return_value = mock_response[1]
result = self.api.get_tx_power()
assert result == expected

@pytest.mark.parametrize("mock_response, expected", [
(False, True)
])
Expand All @@ -392,19 +366,6 @@ def test_get_rx_power_support(self, mock_response, expected):
result = self.api.get_rx_power_support()
assert result == expected

@pytest.mark.parametrize("mock_response, expected", [
([True, {'RxPower1': 0}], {'RxPower1': 0}),
([False, {'RxPower1': 0}], {'OpticalPowerRx%dField' % (i) : "N/A" for i in range(1, 9)}),
([None, None], None)
])
def test_get_rx_power(self, mock_response, expected):
self.api.get_rx_power_support = MagicMock()
self.api.get_rx_power_support.return_value = mock_response[0]
self.api.xcvr_eeprom.read = MagicMock()
self.api.xcvr_eeprom.read.return_value = mock_response[1]
result = self.api.get_rx_power()
assert result == expected

@pytest.mark.parametrize("mock_response, expected", [
([False, True], True)
])
Expand Down Expand Up @@ -1137,18 +1098,9 @@ def test_get_transceiver_info(self, mock_response, expected):
0,
50,
3.3,
{'LaserBiasTx1Field': 70, 'LaserBiasTx2Field': 70,
'LaserBiasTx3Field': 70, 'LaserBiasTx4Field': 70,
'LaserBiasTx5Field': 70, 'LaserBiasTx6Field': 70,
'LaserBiasTx7Field': 70, 'LaserBiasTx8Field': 70},
{'OpticalPowerRx1Field': 0.1, 'OpticalPowerRx2Field': 0,
'OpticalPowerRx3Field': 0, 'OpticalPowerRx4Field': 0,
'OpticalPowerRx5Field': 0, 'OpticalPowerRx6Field': 0,
'OpticalPowerRx7Field': 0, 'OpticalPowerRx8Field': 0,},
{'OpticalPowerTx1Field': 0.1, 'OpticalPowerTx2Field': 0,
'OpticalPowerTx3Field': 0, 'OpticalPowerTx4Field': 0,
'OpticalPowerTx5Field': 0, 'OpticalPowerTx6Field': 0,
'OpticalPowerTx7Field': 0, 'OpticalPowerTx8Field': 0,},
[70, 70, 70, 70, 70, 70, 70, 70],
[0.1, 0, 0, 0, 0, 0, 0, 0],
[0.1, 0, 0, 0, 0, 0, 0, 0],
True, True,
{'monitor value': 40},
{
Expand Down

0 comments on commit 4f77aa6

Please sign in to comment.