]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: properly mock VFIO and IOMMU checks master
authorPavel Hrdina <phrdina@redhat.com>
Mon, 16 Feb 2026 15:53:57 +0000 (16:53 +0100)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 16 Feb 2026 15:53:57 +0000 (16:53 +0100)
Fixes: 63434db800b921e96fec424a667b7161af1f02de
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/util/virutil.h
tests/domaincapsdata/qemu_9.0.0.sparc.xml
tests/domaincapsdata/qemu_9.2.0-hvf.aarch64+hvf.xml
tests/domaincapsmock.c
tests/domaincapstest.c

index ca6fd95363b5ec2a9f4f12acf685d519ceae3c6f..7e1705e7ce8072ae628244667f5203e406a2e282 100644 (file)
@@ -141,7 +141,7 @@ unsigned long long virMemoryLimitTruncate(unsigned long long value);
 bool virMemoryLimitIsSet(unsigned long long value);
 unsigned long long virMemoryMaxValue(bool ulong) ATTRIBUTE_MOCKABLE;
 
-bool virHostHasIOMMU(void);
+bool virHostHasIOMMU(void) ATTRIBUTE_MOCKABLE;
 
 char *virHostGetDRMRenderNode(void) ATTRIBUTE_MOCKABLE;
 
index 062e55718ba30985cf45549cf4276627f330c06b..93d8d40c2c49cce0ab27c2670bf399469f80db9b 100644 (file)
         <value>scsi</value>
       </enum>
       <enum name='capsType'/>
-      <enum name='pciBackend'>
-        <value>default</value>
-        <value>vfio</value>
-      </enum>
+      <enum name='pciBackend'/>
       <enum name='iommufd'>
         <value>no</value>
       </enum>
index db51e7b1202aa0554ea02466fb53e1c1a5bd9b07..a65d9d36fd27cc6893e2d847c3d409bc530cd03b 100644 (file)
         <value>scsi</value>
       </enum>
       <enum name='capsType'/>
-      <enum name='pciBackend'>
-        <value>default</value>
-        <value>vfio</value>
-      </enum>
+      <enum name='pciBackend'/>
       <enum name='iommufd'>
         <value>no</value>
       </enum>
index 370ce357099fbd8d76c755c80e8003f7011301d5..aa13deb3245368bd2b9c7c9619e7d165dd429714 100644 (file)
@@ -21,6 +21,7 @@
 #include "virhostmem.h"
 #include "viriommufd.h"
 #include "virmock.h"
+#include "virutil.h"
 
 #if WITH_QEMU
 # include "qemu/qemu_capabilities.h"
@@ -91,5 +92,14 @@ virFileExists(const char *path)
     if (STREQ(path, VIR_IOMMU_DEV_PATH))
         return true;
 
+    if (STREQ(path, "/dev/vfio/vfio"))
+        return true;
+
     return real_virFileExists(path);
 }
+
+bool
+virHostHasIOMMU(void)
+{
+    return true;
+}
index 71e181d1796e57b0803e958b980dac1db99bc1bf..5b2fc80f0a0632279d720c5e8209eab5a2f91a61 100644 (file)
@@ -104,14 +104,6 @@ fillQemuCaps(virDomainCaps *domCaps,
                                   false) < 0)
         return -1;
 
-    /* The function above tries to query host's VFIO capabilities by calling
-     * virHostdevHostSupportsPassthroughVFIO() which, however, can't be
-     * successfully mocked as they are not exposed as internal APIs. Therefore,
-     * instead of mocking set the expected values here by hand. */
-    VIR_DOMAIN_CAPS_ENUM_SET(domCaps->hostdev.pciBackend,
-                             VIR_DEVICE_HOSTDEV_PCI_DRIVER_NAME_DEFAULT,
-                             VIR_DEVICE_HOSTDEV_PCI_DRIVER_NAME_VFIO);
-
     /* As of f05b6a918e28 we are expecting to see OVMF_CODE.fd file which
      * may not exists everywhere. */
     while (loader->values.nvalues)