Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CMIS QSFP support #246

Merged
merged 1 commit into from
Nov 27, 2021
Merged

Add CMIS QSFP support #246

merged 1 commit into from
Nov 27, 2021

Conversation

andywongarista
Copy link
Contributor

@andywongarista andywongarista commented Nov 26, 2021

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)

@prgeor prgeor merged commit 6ae1909 into sonic-net:master 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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants