|
347 | 347 | </type>
|
348 | 348 | </capability>
|
349 | 349 | </capability>
|
| 350 | + </device>""", |
| 351 | + "pci_0000_06_00_1": """ |
| 352 | + <device> |
| 353 | + <name>pci_0000_06_00_1</name> |
| 354 | + <path>/sys/devices/pci0000:00/0000:00:06.1</path> |
| 355 | + <parent></parent> |
| 356 | + <driver> |
| 357 | + <name>i915</name> |
| 358 | + </driver> |
| 359 | + <capability type="pci"> |
| 360 | + <domain>0</domain> |
| 361 | + <bus>6</bus> |
| 362 | + <slot>0</slot> |
| 363 | + <function>1</function> |
| 364 | + <product id="0x591d">HD Graphics P630</product> |
| 365 | + <vendor id="0x8086">Intel Corporation</vendor> |
| 366 | + <capability type='mdev_types'> |
| 367 | + <type id='i915-GVTg_V5_8'> |
| 368 | + <deviceAPI>vfio-pci</deviceAPI> |
| 369 | + <availableInstances>2</availableInstances> |
| 370 | + </type> |
| 371 | + </capability> |
| 372 | + </capability> |
350 | 373 | </device>""",
|
351 | 374 | "mdev_4b20d080_1b54_4048_85b3_a6a62d165c01": """
|
352 | 375 | <device>
|
@@ -24999,6 +25022,28 @@ def fake_nodeDeviceLookupByName(name):
|
24999 | 25022 | self.assertEqual([],
|
25000 | 25023 | drvr._get_mdev_capable_devices(types=['nvidia-12']))
|
25001 | 25024 |
|
| 25025 | + @mock.patch.object(host.Host, 'device_lookup_by_name') |
| 25026 | + def test_get_mdev_capabilities_for_dev_name_optional( |
| 25027 | + self, device_lookup_by_name): |
| 25028 | + # We use another PCI device that doesn't provide a name attribute for |
| 25029 | + # each mdev type. |
| 25030 | + def fake_nodeDeviceLookupByName(name): |
| 25031 | + return FakeNodeDevice(_fake_NodeDevXml[name]) |
| 25032 | + device_lookup_by_name.side_effect = fake_nodeDeviceLookupByName |
| 25033 | + |
| 25034 | + drvr = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False) |
| 25035 | + |
| 25036 | + expected = {"dev_id": "pci_0000_06_00_1", |
| 25037 | + "vendor_id": 0x8086, |
| 25038 | + "types": {'i915-GVTg_V5_8': {'availableInstances': 2, |
| 25039 | + 'name': None, |
| 25040 | + 'deviceAPI': 'vfio-pci'}, |
| 25041 | + } |
| 25042 | + } |
| 25043 | + self.assertEqual( |
| 25044 | + expected, |
| 25045 | + drvr._get_mdev_capabilities_for_dev("pci_0000_06_00_1")) |
| 25046 | + |
25002 | 25047 | @mock.patch.object(host.Host, 'device_lookup_by_name')
|
25003 | 25048 | @mock.patch.object(host.Host, 'list_mediated_devices')
|
25004 | 25049 | def test_get_mediated_devices(self, list_mediated_devices,
|
|
0 commit comments