]> xenbits.xensource.com Git - libvirt.git/commitdiff
tests: split out common qemu driver initialization
authorPavel Fedin <p.fedin@samsung.com>
Tue, 15 Sep 2015 06:16:02 +0000 (08:16 +0200)
committerJán Tomko <jtomko@redhat.com>
Tue, 22 Sep 2015 11:56:59 +0000 (13:56 +0200)
Two utility functions are introduced for proper initialization and
cleanup of the driver.

Signed-off-by: Pavel Fedin <p.fedin@samsung.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
tests/domainsnapshotxml2xmltest.c
tests/qemuagenttest.c
tests/qemuargv2xmltest.c
tests/qemuhotplugtest.c
tests/qemuxml2argvtest.c
tests/qemuxml2xmltest.c
tests/qemuxmlnstest.c
tests/testutilsqemu.c
tests/testutilsqemu.h

index 3955a19a30a4b2e409d42693b6f6369f901f0ea0..cd91cfae48753b21880aaef76454c3f72019fad2 100644 (file)
@@ -152,13 +152,11 @@ mymain(void)
 {
     int ret = 0;
 
-    if ((driver.caps = testQemuCapsInit()) == NULL)
+    if (qemuTestDriverInit(&driver) < 0)
         return EXIT_FAILURE;
 
-    if (!(driver.xmlopt = virQEMUDriverCreateXMLConf(&driver))) {
-        virObjectUnref(driver.caps);
-        return EXIT_FAILURE;
-    }
+    /* TODO: test with format probing disabled too */
+    driver.config->allowDiskFormatProbing = true;
 
     if (VIR_ALLOC(testSnapshotXMLVariableLineRegex) < 0)
         goto cleanup;
@@ -227,8 +225,7 @@ mymain(void)
     if (testSnapshotXMLVariableLineRegex)
         regfree(testSnapshotXMLVariableLineRegex);
     VIR_FREE(testSnapshotXMLVariableLineRegex);
-    virObjectUnref(driver.caps);
-    virObjectUnref(driver.xmlopt);
+    qemuTestDriverFree(&driver);
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
index 52cc8343bba858229d9400fe0ddef54e070373b1..bd66fcb11570bb576df84ae633babe8a74ee42e8 100644 (file)
@@ -908,8 +908,8 @@ testQemuAgentGetInterfaces(const void *data)
 static int
 mymain(void)
 {
+    virQEMUDriver driver;
     int ret = 0;
-    virDomainXMLOptionPtr xmlopt;
 
 #if !WITH_YAJL
     fputs("libvirt not compiled with yajl, skipping this test\n", stderr);
@@ -917,13 +917,13 @@ mymain(void)
 #endif
 
     if (virThreadInitialize() < 0 ||
-        !(xmlopt = virQEMUDriverCreateXMLConf(NULL)))
+        qemuTestDriverInit(&driver) < 0)
         return EXIT_FAILURE;
 
     virEventRegisterDefaultImpl();
 
-#define DO_TEST(name)                                           \
-    if (virtTestRun(# name, testQemuAgent ## name, xmlopt) < 0) \
+#define DO_TEST(name)                                                  \
+    if (virtTestRun(# name, testQemuAgent ## name, driver.xmlopt) < 0) \
         ret = -1
 
     DO_TEST(FSFreeze);
@@ -938,7 +938,7 @@ mymain(void)
 
     DO_TEST(Timeout); /* Timeout should always be called last */
 
-    virObjectUnref(xmlopt);
+    qemuTestDriverFree(&driver);
 
     return (ret == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
 }
index ea8591366bdbd10a6b78d8ee73f9e8b1cee6a74c..96453e55f1dab605cc84e659a0646f30f1189a5f 100644 (file)
@@ -145,15 +145,9 @@ mymain(void)
 {
     int ret = 0;
 
-    driver.config = virQEMUDriverConfigNew(false);
-    if (driver.config == NULL)
+    if (qemuTestDriverInit(&driver) < 0)
         return EXIT_FAILURE;
 
-    if ((driver.caps = testQemuCapsInit()) == NULL)
-        return EXIT_FAILURE;
-
-    if (!(driver.xmlopt = virQEMUDriverCreateXMLConf(&driver)))
-        return EXIT_FAILURE;
 
 # define DO_TEST_FULL(name, flags)                                      \
     do {                                                                \
@@ -298,9 +292,7 @@ mymain(void)
     DO_TEST("machine-deakeywrap-off-argv");
     DO_TEST("machine-keywrap-none-argv");
 
-    virObjectUnref(driver.config);
-    virObjectUnref(driver.caps);
-    virObjectUnref(driver.xmlopt);
+    qemuTestDriverFree(&driver);
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
index 48318bd78b53efbc76d142a94c4c8d9bdada3b44..476dee8be526f9947dc48d85143f83f2ebd78cff 100644 (file)
@@ -338,14 +338,11 @@ mymain(void)
 #endif
 
     if (virThreadInitialize() < 0 ||
-        !(driver.caps = testQemuCapsInit()) ||
-        !(driver.xmlopt = virQEMUDriverCreateXMLConf(&driver)))
+        qemuTestDriverInit(&driver) < 0)
         return EXIT_FAILURE;
 
     virEventRegisterDefaultImpl();
 
-    if (!(driver.config = virQEMUDriverConfigNew(false)))
-        return EXIT_FAILURE;
     VIR_FREE(driver.config->spiceListen);
     VIR_FREE(driver.config->vncListen);
     /* some dummy values from 'config file' */
@@ -486,9 +483,7 @@ mymain(void)
                    "device_del", QMP_DEVICE_DELETED("scsi0-0-0-5") QMP_OK,
                    "human-monitor-command", HMP(""));
 
-    virObjectUnref(driver.caps);
-    virObjectUnref(driver.xmlopt);
-    virObjectUnref(driver.config);
+    qemuTestDriverFree(&driver);
     return (ret == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
index d4432df270a82635691bf62efd66741c8cf47c1a..cd123560dbff270712cc5b6d953f28c84f7b0204 100644 (file)
@@ -483,8 +483,7 @@ mymain(void)
         return EXIT_FAILURE;
     }
 
-    driver.config = virQEMUDriverConfigNew(false);
-    if (driver.config == NULL)
+    if (qemuTestDriverInit(&driver) < 0)
         return EXIT_FAILURE;
 
     driver.privileged = true;
@@ -499,10 +498,6 @@ mymain(void)
     if (VIR_STRDUP_QUIET(driver.config->spiceTLSx509certdir, "/etc/pki/libvirt-spice") < 0)
         return EXIT_FAILURE;
 
-    if ((driver.caps = testQemuCapsInit()) == NULL)
-        return EXIT_FAILURE;
-    if (!(driver.xmlopt = virQEMUDriverCreateXMLConf(&driver)))
-        return EXIT_FAILURE;
     VIR_FREE(driver.config->stateDir);
     if (VIR_STRDUP_QUIET(driver.config->stateDir, "/nowhere") < 0)
         return EXIT_FAILURE;
@@ -1761,9 +1756,7 @@ mymain(void)
             QEMU_CAPS_MACHINE_OPT, QEMU_CAPS_DRIVE, QEMU_CAPS_VIRTIO_SCSI,
             QEMU_CAPS_DEVICE, QEMU_CAPS_VIRTIO_CCW, QEMU_CAPS_VIRTIO_S390);
 
-    virObjectUnref(driver.config);
-    virObjectUnref(driver.caps);
-    virObjectUnref(driver.xmlopt);
+    qemuTestDriverFree(&driver);
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
index 5a20ebc152c12ffe96aba513403821cfba313be1..243f1f16ff5016b0bf8b6a5ada3cf845abaf31e1 100644 (file)
@@ -302,11 +302,11 @@ mymain(void)
     int ret = 0;
     struct testInfo info;
 
-    if ((driver.caps = testQemuCapsInit()) == NULL)
+    if (qemuTestDriverInit(&driver) < 0)
         return EXIT_FAILURE;
 
-    if (!(driver.xmlopt = virQEMUDriverCreateXMLConf(&driver)))
-        return EXIT_FAILURE;
+    /* TODO: test with format probing disabled too */
+    driver.config->allowDiskFormatProbing = true;
 
 # define DO_TEST_FULL(name, is_different, when)                                \
     do {                                                                       \
@@ -631,8 +631,7 @@ mymain(void)
     DO_TEST("memory-hotplug-dimm");
     DO_TEST("net-udp");
 
-    virObjectUnref(driver.caps);
-    virObjectUnref(driver.xmlopt);
+    qemuTestDriverFree(&driver);
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
index a68e7620153c5480b98ff06c851343f37b8afde0..40e32dc5194b0361d9ca7727bc6fb85ac0199c5e 100644 (file)
@@ -201,15 +201,12 @@ mymain(void)
     if (!abs_top_srcdir)
         abs_top_srcdir = abs_srcdir "/..";
 
-    if (!(driver.config = virQEMUDriverConfigNew(false)))
+    if (qemuTestDriverInit(&driver) < 0)
         return EXIT_FAILURE;
+
     VIR_FREE(driver.config->libDir);
     if (VIR_STRDUP_QUIET(driver.config->libDir, "/tmp") < 0)
         return EXIT_FAILURE;
-    if ((driver.caps = testQemuCapsInit()) == NULL)
-        return EXIT_FAILURE;
-    if (!(driver.xmlopt = virQEMUDriverCreateXMLConf(&driver)))
-        return EXIT_FAILURE;
 
 # define DO_TEST_FULL(name, migrateFrom, migrateFd, expectError, ...)   \
     do {                                                                \
@@ -251,9 +248,7 @@ mymain(void)
     DO_TEST("qemu-ns-commandline-ns0", false, NONE);
     DO_TEST("qemu-ns-commandline-ns1", false, NONE);
 
-    virObjectUnref(driver.config);
-    virObjectUnref(driver.caps);
-    virObjectUnref(driver.xmlopt);
+    qemuTestDriverFree(&driver);
 
     return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
index a2f429909a7527aae4f000a533fc847305cd6142..e357c58069f3fad4c9fe189aae737ad986da3c26 100644 (file)
@@ -526,4 +526,32 @@ qemuTestParseCapabilities(const char *capsFile)
     xmlXPathFreeContext(ctxt);
     return NULL;
 }
+
+void qemuTestDriverFree(virQEMUDriver *driver)
+{
+    virObjectUnref(driver->xmlopt);
+    virObjectUnref(driver->caps);
+    virObjectUnref(driver->config);
+}
+
+int qemuTestDriverInit(virQEMUDriver *driver)
+{
+    driver->config = virQEMUDriverConfigNew(false);
+    if (!driver->config)
+        return -1;
+
+    driver->caps = testQemuCapsInit();
+    if (!driver->caps)
+        goto error;
+
+    driver->xmlopt = virQEMUDriverCreateXMLConf(driver);
+    if (!driver->xmlopt)
+        goto error;
+
+    return 0;
+
+ error:
+    qemuTestDriverFree(driver);
+    return -1;
+}
 #endif
index 0ec5dadd2f6b63a340a1ba419ec208b77bea6804..6c2d3b5d2f951718f50a0857c768abcc31e551e2 100644 (file)
@@ -16,4 +16,6 @@ extern virCPUDefPtr cpuHaswell;
 void testQemuCapsSetCPU(virCapsPtr caps,
                         virCPUDefPtr hostCPU);
 
+int qemuTestDriverInit(virQEMUDriver *driver);
+void qemuTestDriverFree(virQEMUDriver *driver);
 #endif