[libvirt] [PATCH v2 09/10] Make qemuhotplugtest work with persistent domains
Martin Kletzander
mkletzan at redhat.com
Mon Jul 25 09:40:23 UTC 2016
On Sat, Jul 16, 2016 at 02:42:54AM +0200, Tomasz Flendrich wrote:
>It was previously working only with attachments/detachments
>to the live domain. Now it can test attaching/detaching to
>the persistent domain too.
>
>---
> tests/qemuhotplugtest.c | 43 +++++++++++++++++++++++++++++++++++--------
> 1 file changed, 35 insertions(+), 8 deletions(-)
>
>diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c
>index da361a2..5cf29e5 100644
>--- a/tests/qemuhotplugtest.c
>+++ b/tests/qemuhotplugtest.c
>@@ -234,12 +234,29 @@ testQemuHotplug(const void *data)
> if (virAsprintf(&domain_filename, "%s/qemuhotplugtestdomains/qemuhotplug-%s.xml",
> abs_srcdir, test->domain_filename) < 0 ||
> virAsprintf(&device_filename, "%s/qemuhotplugtestdevices/qemuhotplug-%s.xml",
>- abs_srcdir, test->device_filename) < 0 ||
>- virAsprintf(&result_filename,
>+ abs_srcdir, test->device_filename) < 0)
>+ goto cleanup;
>+
>+ switch (target) {
>+ case VIR_DOMAIN_AFFECT_LIVE:
>+ if (virAsprintf(&result_filename,
> "%s/qemuhotplugtestdomains/qemuhotplug-%s+%s.xml",
> abs_srcdir, test->domain_filename,
> test->device_filename) < 0)
Indentation is off here.
>+ goto cleanup;
>+ break;
>+ case VIR_DOMAIN_AFFECT_CONFIG:
>+ if (virAsprintf(&result_filename,
>+ "%s/qemuhotplugtestdomains/qemuhotplug-%s+%s+config.xml",
>+ abs_srcdir, test->domain_filename,
>+ test->device_filename) < 0)
>+ goto cleanup;
>+ break;
>+ default:
No need to do default in case the switch condition is an enum, although
I'm not sure how that works with flags (non-continuous values).
>+ VIR_TEST_VERBOSE("target can either be VIR_DOMAIN_AFFECT_LIVE"
>+ " or VIR_DOMAIN_AFFECT_CONFIG\n");
We should also take into account the fact that it can be both, but
should not be _CURRENT in tests. That way we don't have to do two lines
of DO_TEST_ATTACH_. Although that might cause confusion with the 'keep'
parameter.
> goto cleanup;
>+ }
>
> if (virTestLoadFile(domain_filename, &domain_xml) < 0 ||
> virTestLoadFile(device_filename, &device_xml) < 0)
>@@ -303,16 +320,26 @@ testQemuHotplug(const void *data)
> * envelope */
> VIR_FREE(dev);
> }
>- if (ret == 0 || fail)
>- ret = testQemuHotplugCheckResult(vm->def, result_xml,
>- result_filename, fail);
>+ if (ret == 0 || fail) {
>+ if (target == VIR_DOMAIN_AFFECT_LIVE)
>+ ret = testQemuHotplugCheckResult(vm->def, result_xml,
>+ result_filename, fail);
>+ else if (target == VIR_DOMAIN_AFFECT_CONFIG)
>+ ret = testQemuHotplugCheckResult(vm->newDef, result_xml,
>+ result_filename, fail);
>+ }
> break;
>
> case DETACH:
> ret = testQemuHotplugDetach(vm, dev, device_xml, target);
>- if (ret == 0 || fail)
>- ret = testQemuHotplugCheckResult(vm->def, domain_xml,
>- domain_filename, fail);
>+ if (ret == 0 || fail) {
>+ if (target == VIR_DOMAIN_AFFECT_LIVE)
>+ ret = testQemuHotplugCheckResult(vm->def, domain_xml,
>+ domain_filename, fail);
>+ else if (target == VIR_DOMAIN_AFFECT_CONFIG)
>+ ret = testQemuHotplugCheckResult(vm->newDef, domain_xml,
>+ domain_filename, fail);
>+ }
> break;
>
> case UPDATE:
>--
>2.7.4
>
>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160725/62e70dbe/attachment-0001.sig>
More information about the libvir-list
mailing list