]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
test_driver: Fix testDomainSetMemoryFlags' behaviour on config change
authorErik Skultety <eskultet@redhat.com>
Thu, 25 Jul 2019 07:29:36 +0000 (09:29 +0200)
committerErik Skultety <eskultet@redhat.com>
Thu, 25 Jul 2019 08:44:13 +0000 (10:44 +0200)
When commit 6ac402c456a added the API whenever VIR_DOMAIN_MEM_MAXIMUM
was passed the code always checked whether the domain was active and
therefore failed with an error even though only a config change was
requested. Fix the issue by replacing virDomainObjGetOneDef with
virDomainObjGetOneDefState which tells us what definition we're
performing the change on.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Acked-by: Peter Krempa <pkrempa@redhat.com>
src/test/test_driver.c

index 56f6b78ecc906c9d2855159401d4a1f80d0012ab..da044027bf4e2a25ccc93363d73cc51781ff14a0 100755 (executable)
@@ -2524,6 +2524,7 @@ static int testDomainSetMemoryFlags(virDomainPtr domain,
     virDomainObjPtr vm;
     virDomainDefPtr def;
     int ret = -1;
+    bool live = false;
 
     virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
                   VIR_DOMAIN_AFFECT_CONFIG |
@@ -2532,11 +2533,11 @@ static int testDomainSetMemoryFlags(virDomainPtr domain,
     if (!(vm = testDomObjFromDomain(domain)))
         return -1;
 
-    if (!(def = virDomainObjGetOneDef(vm, flags)))
+    if (!(def = virDomainObjGetOneDefState(vm, flags, &live)))
         goto cleanup;
 
     if (flags & VIR_DOMAIN_MEM_MAXIMUM) {
-        if (virDomainObjIsActive(vm)) {
+        if (live) {
             virReportError(VIR_ERR_OPERATION_INVALID, "%s",
                            _("cannot resize the maximum memory on an "
                              "active domain"));