When parsing domain XML post parse callbacks are run and one of
them might try and call API from a non-hypervisor driver (e.g.
just like qemuDomainDeviceNetDefPostParse() is doing - it calls a
network API). To avoid this in the test suite, set dummy drivers,
which renders all non-hypervisor APIs return error.
This mimics what qemuxml2argvtest does.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
tests/qemuxml2xmltest.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 5a124853b4..11ff17d83c 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -135,6 +135,7 @@ mymain(void)
char *fakerootdir;
virQEMUDriverConfigPtr cfg = NULL;
virHashTablePtr capslatest = NULL;
+ g_autoptr(virConnect) conn = NULL;
capslatest = testQemuGetLatestCaps();
if (!capslatest)
@@ -164,6 +165,16 @@ mymain(void)
cfg = virQEMUDriverGetConfig(&driver);
driver.privileged = true;
+ if (!(conn = virGetConnect()))
+ goto cleanup;
+
+ virSetConnectInterface(conn);
+ virSetConnectNetwork(conn);
+ virSetConnectNWFilter(conn);
+ virSetConnectNodeDev(conn);
+ virSetConnectSecret(conn);
+ virSetConnectStorage(conn);
+
# define DO_TEST_INTERNAL(_name, suffix, when, ...) \
do { \
static struct testQemuInfo info = { \
@@ -1471,6 +1482,7 @@ mymain(void)
DO_TEST_CAPS_LATEST("virtio-9p-multidevs");
DO_TEST("downscript", NONE);
+ cleanup:
if (getenv("LIBVIRT_SKIP_CLEANUP") == NULL)
virFileDeleteTree(fakerootdir);
--
2.26.2