Merged
Conversation
prgeor
approved these changes
Nov 27, 2021
oleksandrivantsiv
pushed a commit
to oleksandrivantsiv/sonic-platform-common
that referenced
this pull request
Oct 25, 2024
Fix UT failed cause by change sonic_py_common to use swss_common
#### Description
Fix UT failed cause by change sonic_py_common to use swss_common:
In current UT, we implement swsscommon mock class under sonic-pcied/tests/mocked_libs/swsscommon and load these mock libs by add the mock path in front of real swsscommon lib path with following code:
# Add mocked_libs path so that the file under test can load mocked modules from there
mocked_libs_path = os.path.join(tests_path, "mocked_libs")
sys.path.insert(0, mocked_libs_path)
However, because we change sonic_py_common to use swsscommon, so real version of swsscommon been load before we load mock lib. then the UT break with following error message:
______________ TestDaemonPcied.test_update_pcie_devices_status_db ______________
self = <tests.test_DaemonPcied.TestDaemonPcied object at 0x7f29542655d0>
@mock.patch('pcied.load_platform_pcieutil', mock.MagicMock())
def test_update_pcie_devices_status_db(self):
> daemon_pcied = pcied.DaemonPcied(SYSLOG_IDENTIFIER)
tests/test_DaemonPcied.py:160:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
scripts/pcied:93: in __init__
self.device_table = swsscommon.Table(self.state_db, PCIE_DEVICE_TABLE_NAME)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <swsscommon.swsscommon.Table; >
args = (<MagicMock name='mock()' id='139815470171344'>, 'PCIE_DEVICE')
def __init__(self, *args):
> this = _swsscommon.new_Table(*args)
E NotImplementedError: Wrong number or type of arguments for overloaded function 'new_Table'.
E Possible C/C++ prototypes are:
E swss::Table::Table(swss::DBConnector const *,std::string const &)
E swss::Table::Table(swss::RedisPipeline *,std::string const &,bool)
#### Motivation and Context
pyswss will be deprecate, so sonic_py_common will changed to use swss_common.
Some UT in this project failed because this change.
#### How Has This Been Tested?
Pass all UT and sonic-buildimage E2E test.
#### Additional Information (Optional)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add support for CMIS-compliant QSFP xcvrs (identifer 1Eh)
Motivation and Context
QSFP xcvrs which comply to CMIS have a different id and are not currently supported by the new design
How Has This Been Tested?
Ran tests/sonic_xcvr/
Tested on Arista platform with these xcvrs
Additional Information (Optional)