mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-07-11 04:15:49 +00:00
tests: use mockup cache
Use the new API in order to correctly add capability sets to the cache before parsing XML files Signed-off-by: Pavel Fedin <p.fedin@samsung.com> Signed-off-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
f7dd335749
commit
0636c4a8f6
@ -57,7 +57,7 @@ static int
|
|||||||
qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
|
qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
|
||||||
virDomainObjPtr *vm,
|
virDomainObjPtr *vm,
|
||||||
const char *domxml,
|
const char *domxml,
|
||||||
bool event)
|
bool event, const char *testname)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
qemuDomainObjPrivatePtr priv = NULL;
|
qemuDomainObjPrivatePtr priv = NULL;
|
||||||
@ -65,12 +65,6 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
|
|||||||
if (!(*vm = virDomainObjNew(xmlopt)))
|
if (!(*vm = virDomainObjNew(xmlopt)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!((*vm)->def = virDomainDefParseString(domxml,
|
|
||||||
driver.caps,
|
|
||||||
driver.xmlopt,
|
|
||||||
VIR_DOMAIN_DEF_PARSE_INACTIVE)))
|
|
||||||
goto cleanup;
|
|
||||||
|
|
||||||
priv = (*vm)->privateData;
|
priv = (*vm)->privateData;
|
||||||
|
|
||||||
if (!(priv->qemuCaps = virQEMUCapsNew()))
|
if (!(priv->qemuCaps = virQEMUCapsNew()))
|
||||||
@ -85,6 +79,17 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt,
|
|||||||
if (event)
|
if (event)
|
||||||
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_DEL_EVENT);
|
virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_DEL_EVENT);
|
||||||
|
|
||||||
|
ret = qemuTestCapsCacheInsert(driver.qemuCapsCache, testname,
|
||||||
|
priv->qemuCaps);
|
||||||
|
if (ret < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
if (!((*vm)->def = virDomainDefParseString(domxml,
|
||||||
|
driver.caps,
|
||||||
|
driver.xmlopt,
|
||||||
|
VIR_DOMAIN_DEF_PARSE_INACTIVE)))
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuDomainAssignAddresses((*vm)->def, priv->qemuCaps, *vm) < 0)
|
if (qemuDomainAssignAddresses((*vm)->def, priv->qemuCaps, *vm) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -243,7 +248,8 @@ testQemuHotplug(const void *data)
|
|||||||
vm = test->vm;
|
vm = test->vm;
|
||||||
} else {
|
} else {
|
||||||
if (qemuHotplugCreateObjects(driver.xmlopt, &vm, domain_xml,
|
if (qemuHotplugCreateObjects(driver.xmlopt, &vm, domain_xml,
|
||||||
test->deviceDeletedEvent) < 0)
|
test->deviceDeletedEvent,
|
||||||
|
test->domain_filename) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -423,6 +423,11 @@ testCompareXMLToArgvHelper(const void *data)
|
|||||||
if (virQEMUCapsGet(info->extraFlags, QEMU_CAPS_ENABLE_FIPS))
|
if (virQEMUCapsGet(info->extraFlags, QEMU_CAPS_ENABLE_FIPS))
|
||||||
flags |= FLAG_FIPS;
|
flags |= FLAG_FIPS;
|
||||||
|
|
||||||
|
result = qemuTestCapsCacheInsert(driver.qemuCapsCache, info->name,
|
||||||
|
info->extraFlags);
|
||||||
|
if (result < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
result = testCompareXMLToArgvFiles(xml, args, info->extraFlags,
|
result = testCompareXMLToArgvFiles(xml, args, info->extraFlags,
|
||||||
info->migrateFrom, info->migrateFd,
|
info->migrateFrom, info->migrateFd,
|
||||||
flags);
|
flags);
|
||||||
|
@ -179,6 +179,12 @@ testCompareXMLToArgvHelper(const void *data)
|
|||||||
abs_srcdir, info->name) < 0)
|
abs_srcdir, info->name) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
qemuTestCapsName = info->name;
|
||||||
|
result = qemuTestCapsCacheInsert(driver.qemuCapsCache, info->name,
|
||||||
|
info->extraFlags);
|
||||||
|
if (result < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
result = testCompareXMLToArgvFiles(xml, args, info->extraFlags,
|
result = testCompareXMLToArgvFiles(xml, args, info->extraFlags,
|
||||||
info->migrateFrom, info->migrateFd,
|
info->migrateFrom, info->migrateFd,
|
||||||
info->json, info->expectError);
|
info->json, info->expectError);
|
||||||
|
@ -559,6 +559,8 @@ int qemuTestCapsCacheInsert(virQEMUCapsCachePtr cache, const char *binary,
|
|||||||
ret = virHashAddEntry(cache->binaries, binary, caps);
|
ret = virHashAddEntry(cache->binaries, binary, caps);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
virObjectUnref(caps);
|
virObjectUnref(caps);
|
||||||
|
else
|
||||||
|
qemuTestCapsName = binary;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -573,10 +575,19 @@ int qemuTestDriverInit(virQEMUDriver *driver)
|
|||||||
if (!driver->caps)
|
if (!driver->caps)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
/* Using /dev/null for libDir and cacheDir automatically produces errors
|
||||||
|
* upon attempt to use any of them */
|
||||||
|
driver->qemuCapsCache = virQEMUCapsCacheNew("/dev/null", "/dev/null", 0, 0);
|
||||||
|
if (!driver->qemuCapsCache)
|
||||||
|
goto error;
|
||||||
|
|
||||||
driver->xmlopt = virQEMUDriverCreateXMLConf(driver);
|
driver->xmlopt = virQEMUDriverCreateXMLConf(driver);
|
||||||
if (!driver->xmlopt)
|
if (!driver->xmlopt)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
if (qemuTestCapsCacheInsert(driver->qemuCapsCache, "empty", NULL) < 0)
|
||||||
|
goto error;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
Loading…
Reference in New Issue
Block a user