[libvirt] [PATCH v2 6/7] tests: Introduce QEMU memory locking limit tests

Martin Kletzander mkletzan at redhat.com
Mon Mar 27 20:15:11 UTC 2017


On Mon, Mar 27, 2017 at 05:38:58PM +0200, Andrea Bolognani wrote:
>These tests cover a number of scenarios where we care about
>the memory locking limit being set correctly for the guest
>to work properly.
>---
>
>+static int
>+testCompareMemLock(const void *data)
>+{
>+    const struct testInfo *info = data;
>+    virConnectPtr conn = NULL;
>+    virDomainObjPtr vm = NULL;
>+    char *xml = NULL;
>+    int ret = -1;
>+
>+    if (!(conn = virGetConnect()))
>+        goto cleanup;
>+
>+    if (virAsprintf(&xml, "%s/qemumemlockdata/qemumemlock-%s.xml",
>+                    abs_srcdir, info->name) < 0)
>+        goto cleanup;
>+
>+    if (!(vm = virDomainObjNew(driver.xmlopt)))
>+        goto cleanup;
>+
>+    if (!(vm->def = virDomainDefParseFile(xml, driver.caps, driver.xmlopt, NULL,
>+                                          VIR_DOMAIN_DEF_PARSE_INACTIVE))) {
>+        goto cleanup;
>+    }
>+
>+    if (virTestCompareToULL(info->memlock, qemuDomainGetMemLockLimitBytes(vm->def)) < 0)
>+        goto cleanup;
>+
>+    ret = 0;
>+
>+ cleanup:
>+    virObjectUnref(vm);
>+    virObjectUnref(conn);
>+    VIR_FREE(xml);
>+
>+    return ret;
>+}
>+

Looking at this function I don't think we really understood each other.
Looks like I explain better with code than words, so let me fix that
right up.  ACK with the following squashed in:

diff --git c/tests/qemumemlocktest.c w/tests/qemumemlocktest.c
index 91593884656f..50e23d584e30 100644
--- c/tests/qemumemlocktest.c
+++ w/tests/qemumemlocktest.c
@@ -34,34 +34,23 @@ static int
 testCompareMemLock(const void *data)
 {
     const struct testInfo *info = data;
-    virConnectPtr conn = NULL;
-    virDomainObjPtr vm = NULL;
+    virDomainDefPtr def = NULL;
     char *xml = NULL;
     int ret = -1;

-    if (!(conn = virGetConnect()))
-        goto cleanup;
-
     if (virAsprintf(&xml, "%s/qemumemlockdata/qemumemlock-%s.xml",
                     abs_srcdir, info->name) < 0)
         goto cleanup;

-    if (!(vm = virDomainObjNew(driver.xmlopt)))
-        goto cleanup;
-
-    if (!(vm->def = virDomainDefParseFile(xml, driver.caps, driver.xmlopt, NULL,
-                                          VIR_DOMAIN_DEF_PARSE_INACTIVE))) {
+    if (!(def = virDomainDefParseFile(xml, driver.caps, driver.xmlopt, NULL,
+                                      VIR_DOMAIN_DEF_PARSE_INACTIVE))) {
         goto cleanup;
     }

-    if (virTestCompareToULL(info->memlock, qemuDomainGetMemLockLimitBytes(vm->def)) < 0)
-        goto cleanup;
-
-    ret = 0;
-
+    ret = virTestCompareToULL(info->memlock,
+                              qemuDomainGetMemLockLimitBytes(def));
  cleanup:
-    virObjectUnref(vm);
-    virObjectUnref(conn);
+    virDomainDefFree(def);
     VIR_FREE(xml);

     return ret;
--
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170327/e587c281/attachment-0001.sig>


More information about the libvir-list mailing list