def test_config_fail_device(self): xmlin = """ <device> <name>pci_0000_33_00_0</name> <parent>pci_0000_22_1c_0</parent> <driver> <name>vxx</name> </driver> <capability type="pci"> <domain>0</domain> <bus>9</bus> <slot>0</slot> <function>0</function> <product id="0x5833">X3100 Series 10 Gigabit Ethernet PCIe</product> <vendor id="0x17d5">Neterion Inc.</vendor> <capability type="virt_functions"> </capability> </capability> </device>""" obj = config.LibvirtConfigNodeDevice() obj.parse_str(xmlin) self.assertEqual(type(obj.pci_capability), config.LibvirtConfigNodeDevicePciCap) self.assertEqual(type(obj.pci_capability.fun_capability[0]), config.LibvirtConfigNodeDevicePciSubFunctionCap) self.assertEqual(obj.pci_capability.fun_capability[0].type, "virt_functions")
def test_config_2cap_device(self): xmlin = """ <device> <name>pci_0000_04_10_7</name> <parent>pci_0000_00_01_1</parent> <driver> <name>igbvf</name> </driver> <capability type='pci'> <domain>0</domain> <bus>4</bus> <slot>16</slot> <function>7</function> <product id='0x1520'>I350 Ethernet Controller Virtual</product> <vendor id='0x8086'>Intel Corporation</vendor> <capability type='phys_function'> <address domain='0x0000' bus='0x04' slot='0x00' function='0x3'/> </capability> <capability type='virt_functions'> <address domain='0x0000' bus='0x04' slot='0x00' function='0x3'/> </capability> </capability> </device>""" obj = config.LibvirtConfigNodeDevice() obj.parse_str(xmlin) self.assertEqual(type(obj.pci_capability), config.LibvirtConfigNodeDevicePciCap) self.assertEqual(type(obj.pci_capability.fun_capability[0]), config.LibvirtConfigNodeDevicePciSubFunctionCap) self.assertEqual(obj.pci_capability.fun_capability[0].type, "phys_function") self.assertEqual(obj.pci_capability.fun_capability[1].type, "virt_functions")
def _cmp_pci_dev_addr(dev_xml, cmp_addr): cfgdev = vconfig.LibvirtConfigNodeDevice() cfgdev.parse_str(dev_xml) address = "%04x:%02x:%02x.%1x" % ( cfgdev.pci_capability.domain, cfgdev.pci_capability.bus, cfgdev.pci_capability.slot, cfgdev.pci_capability.function) self.assertEqual(cmp_addr, address)
def test_config_virt_usb_device(self): xmlin = """ <device> <name>usb_0000_09_00_0</name> <parent>pci_0000_00_1c_0</parent> <driver> <name>vxge</name> </driver> <capability type="usb"> <domain>0</domain> <capability type="fake_usb"> <address fake_usb="fake"/> </capability> </capability> </device>""" obj = config.LibvirtConfigNodeDevice() obj.parse_str(xmlin) self.assertEqual(obj.pci_capability, None)