]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
test: Allow to undefine a running domain
authorOsier Yang <jyang@redhat.com>
Fri, 19 Aug 2011 13:50:49 +0000 (21:50 +0800)
committerOsier Yang <jyang@redhat.com>
Fri, 19 Aug 2011 13:50:49 +0000 (21:50 +0800)
src/test/test_driver.c

index fb14b106e999f0ed8262fa433713e48d02cc04a4..422486ea42428b887d5aa14d66eb152dd569ab6f 100644 (file)
@@ -2601,18 +2601,17 @@ static int testDomainUndefineFlags(virDomainPtr domain,
         goto cleanup;
     }
 
-    if (virDomainObjGetState(privdom, NULL) != VIR_DOMAIN_SHUTOFF) {
-        testError(VIR_ERR_INTERNAL_ERROR,
-                  _("Domain '%s' is still running"), domain->name);
-        goto cleanup;
-    }
-
     event = virDomainEventNewFromObj(privdom,
                                      VIR_DOMAIN_EVENT_UNDEFINED,
                                      VIR_DOMAIN_EVENT_UNDEFINED_REMOVED);
-    virDomainRemoveInactive(&privconn->domains,
-                            privdom);
-    privdom = NULL;
+    if (virDomainObjIsActive(vm)) {
+        vm->persistent = 0;
+    } else {
+        virDomainRemoveInactive(&privconn->domains,
+                                privdom);
+        privdom = NULL;
+    }
+
     ret = 0;
 
 cleanup: