]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virstoragetest: Stop rewriting images in 'mymain'
authorPeter Krempa <pkrempa@redhat.com>
Wed, 8 Sep 2021 14:49:03 +0000 (16:49 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 9 Sep 2021 13:29:00 +0000 (15:29 +0200)
For testing of real images formatted by 'qemu-img' it's now sufficient
to format them once without the need to rewrtie them since we use the
real images only for testing of one scenario.

This allows us to also remove most of the global variables holding the
path to the images which was necessary when they were being rewritten.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tests/virstoragetest.c

index 475ff23ce08b9dd6388c1288d0a58683ce3e73f1..1ee7bb5230b201424d4c77add369c0752bc05acc 100644 (file)
@@ -37,28 +37,11 @@ VIR_LOG_INIT("tests.storagetest");
 
 #define datadir abs_builddir "/virstoragedata"
 
-/* This test creates the following files, all in datadir:
-
- * raw: 1024-byte raw file
- * qcow2: qcow2 file with 'raw' as backing
- * wrap: qcow2 file with 'qcow2' as backing
- *
- * Relative names to these files are known at compile time, but absolute
- * names depend on where the test is run; for convenience,
- * we pre-populate the computation of these names for use during the test.
-*/
-
-static char *qemuimg;
-static char *absraw;
-static char *absqcow2;
 static char *abswrap;
 
 static void
 testCleanupImages(void)
 {
-    VIR_FREE(qemuimg);
-    VIR_FREE(absraw);
-    VIR_FREE(absqcow2);
     VIR_FREE(abswrap);
 
     if (chdir(abs_builddir) < 0) {
@@ -106,8 +89,10 @@ testPrepImages(void)
     bool compat = false;
     g_autoptr(virCommand) cmd = NULL;
     g_autofree char *buf = NULL;
+    g_autofree char *absraw = g_strdup_printf("%s/raw", datadir);
+    g_autofree char *absqcow2 = g_strdup_printf("%s/qcow2", datadir);
+    g_autofree char *qemuimg = virFindFileInPath("qemu-img");
 
-    qemuimg = virFindFileInPath("qemu-img");
     if (!qemuimg)
         goto skip;
 
@@ -126,8 +111,6 @@ testPrepImages(void)
         compat = true;
     VIR_FREE(buf);
 
-    absraw = g_strdup_printf("%s/raw", datadir);
-    absqcow2 = g_strdup_printf("%s/qcow2", datadir);
     abswrap = g_strdup_printf("%s/wrap", datadir);
 
     if (g_mkdir_with_parents(datadir, 0777) < 0) {
@@ -158,7 +141,7 @@ testPrepImages(void)
     /* Make sure our later uses of 'qemu-img rebase' will work */
     virCommandFree(cmd);
     cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
-                               "-F", "raw", "-b", "raw", "qcow2", NULL);
+                               "-F", "raw", "-b", absraw, "qcow2", NULL);
     if (virCommandRun(cmd, NULL) < 0)
         goto skip;
 
@@ -469,7 +452,6 @@ mymain(void)
     virStorageSource *chain = &fakeChain[0];
     virStorageSource *chain2 = &fakeChain[1];
     virStorageSource *chain3 = &fakeChain[2];
-    g_autoptr(virCommand) cmd = NULL;
 
     if (storageRegisterAll() < 0)
        return EXIT_FAILURE;
@@ -505,13 +487,6 @@ mymain(void)
                abs_srcdir "/virstoragetestdata/images/qcow2_raw-raw-relative.qcow2",
                VIR_STORAGE_FILE_AUTO, EXP_PASS);
 
-    /* Rewrite qcow2 file to use absolute backing name */
-    virCommandFree(cmd);
-    cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
-                               "-F", "raw", "-b", absraw, "qcow2", NULL);
-    if (virCommandRun(cmd, NULL) < 0)
-        ret = -1;
-
     /* qcow2 chain with absolute backing formatted with a real qemu-img */
     TEST_CHAIN("qcow2-qcow2_qcow2-qcow2_raw-raw", abswrap, VIR_STORAGE_FILE_QCOW2, EXP_PASS);
     TEST_CHAIN("qcow2-auto_qcow2-qcow2_raw-raw", abswrap, VIR_STORAGE_FILE_AUTO, EXP_PASS);