示例#1
0
 def test_get_presence(self, duthosts, enum_rand_one_per_hwsku_hostname, localhost, platform_api_conn):
     for i in self.sfp_setup["sfp_test_port_indices"]:
         presence = sfp.get_presence(platform_api_conn, i)
         if self.expect(presence is not None, "Unable to retrieve transceiver {} presence".format(i)):
             if self.expect(isinstance(presence, bool), "Transceiver {} presence appears incorrect".format(i)):
                 self.expect(presence is True, "Transceiver {} is not present".format(i))
     self.assert_expectations()
示例#2
0
 def test_get_presence(self, duthost, localhost, platform_api_conn):
     for i in range(self.num_sfps):
         presence = sfp.get_presence(platform_api_conn, i)
         if self.expect(presence is not None, "Unable to retrieve transceiver {} presence".format(i)):
             if self.expect(isinstance(presence, bool), "Transceiver {} presence appears incorrect".format(i)):
                 self.expect(presence is True, "Transceiver {} is not present".format(i))
     self.assert_expectations()
示例#3
0
    def setup(self, request, platform_api_conn):
        self.skip_absent_sfp = request.config.getoption("--skip-absent-sfp")

        if self.num_sfps is None:
            try:
                self.num_sfps = int(chassis.get_num_sfps(platform_api_conn))
            except:
                pytest.fail("num_sfps is not an integer")

        self.candidate_sfp = []
        if self.skip_absent_sfp:
            # Skip absent SFP if option "--skip-absent-sfp" set to True 
            for i in range(self.num_sfps):
                try:
                    if sfp.get_presence(platform_api_conn, i):
                        self.candidate_sfp.append(i)
                except Exception:
                    pytest.fail("get_presence API is not supported, failed to compose present SFP list")
        else:
            self.candidate_sfp = range(self.num_sfps)
示例#4
0
 def setup(self, request, duthosts, enum_rand_one_per_hwsku_hostname,
           platform_api_conn):
     duthost = duthosts[enum_rand_one_per_hwsku_hostname]
     if duthost.is_supervisor_node():
         pytest.skip("skipping for supervisor node")
     self.skip_absent_sfp = request.config.getoption("--skip-absent-sfp")
     internal_intf = re.compile(r'^Ethernet-BP|^Ethernet-IB')
     self.list_sfps = []
     # get expected data from platform.json if not present get from port_config.ini
     if duthost.facts.get("interfaces"):
         intfs = duthost.facts.get("interfaces")
         for intf in intfs:
             if re.match(internal_intf, intf):
                 logging.debug(
                     "skipping internal interface {}".format(intf))
                 continue
             index_list = [
                 int(x) for x in duthost.facts["interfaces"][intf]
                 ['index'].split(",")
             ]
             self.list_sfps.extend(set(index_list))
     else:
         int_list = get_port_map(duthost, 'all')
         for k, v in int_list.items():
             self.list_sfps.extend(v)
     self.list_sfps.sort()
     self.candidate_sfp = []
     if self.skip_absent_sfp:
         # Skip absent SFP if option "--skip-absent-sfp" set to True
         for i in self.list_sfps:
             try:
                 if sfp.get_presence(platform_api_conn, i):
                     self.candidate_sfp.append(i)
             except Exception:
                 pytest.fail(
                     "get_presence API is not supported for index {}, failed to compose present SFP list"
                     .format(i))
     else:
         self.candidate_sfp = self.list_sfps