]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virstoragetest: Test backing chain loops with hardcoded images
authorPeter Krempa <pkrempa@redhat.com>
Mon, 6 Sep 2021 14:56:19 +0000 (16:56 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 9 Sep 2021 13:29:00 +0000 (15:29 +0200)
Provide the images for the self and mutual backing image loop cases in
the repository rather than formatting them with qemu-img.

This makes the code more readable and also decouples the backing chain
tests from each other.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
build-aux/syntax-check.mk
tests/virstoragetest.c
tests/virstoragetestdata/images/loop-1.qcow2 [new file with mode: 0644]
tests/virstoragetestdata/images/loop-2.qcow2 [new file with mode: 0644]
tests/virstoragetestdata/images/loop-self.qcow2 [new file with mode: 0644]

index 2058af0b77ce175262b172fb7a7706466b6ff08b..cb54c8ba36bd525d630d13d35987a76a5919db2b 100644 (file)
@@ -1563,7 +1563,7 @@ exclude_file_name_regexp--sc_prohibit_close = \
   (\.p[yl]$$|\.spec\.in$$|^docs/|^(src/util/vir(file|event)\.c|src/libvirt-stream\.c|tests/(vir.+mock\.c|commandhelper\.c|qemusecuritymock\.c)|tools/nss/libvirt_nss_(leases|macs)\.c)$$)
 
 exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = \
-  (^tests/(nodedevmdevctl|virhostcpu|virpcitest)data/|docs/js/.*\.js|docs/fonts/.*\.woff|\.diff|tests/virconfdata/no-newline\.conf$$)
+  (^tests/(nodedevmdevctl|virhostcpu|virpcitest|virstoragetest)data/|docs/js/.*\.js|docs/fonts/.*\.woff|\.diff|tests/virconfdata/no-newline\.conf$$)
 
 exclude_file_name_regexp--sc_prohibit_fork_wrappers = \
   (^(src/(util/(vircommand|virdaemon)|lxc/lxc_controller)|tests/testutils)\.c$$)
index 299b16e1198733d7b71ab01fa68ec82a4e8de4c2..785699d4e84bb1963d0abe89b6ec639288b7ba85 100644 (file)
@@ -597,31 +597,13 @@ mymain(void)
     TEST_CHAIN("qcow2-symlinks", abslink2, VIR_STORAGE_FILE_QCOW2, EXP_PASS);
 #endif
 
-    /* Rewrite qcow2 to be a self-referential loop */
-    virCommandFree(cmd);
-    cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
-                               "-F", "qcow2", "-b", "qcow2", "qcow2", NULL);
-    if (virCommandRun(cmd, NULL) < 0)
-        ret = -1;
-
-    /* Behavior of an infinite loop chain */
-    TEST_CHAIN("qcow2-qcow2_infinite-self", absqcow2, VIR_STORAGE_FILE_QCOW2, EXP_FAIL);
-
-    /* Rewrite wrap and qcow2 to be mutually-referential loop */
-    virCommandFree(cmd);
-    cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
-                               "-F", "qcow2", "-b", "wrap", "qcow2", NULL);
-    if (virCommandRun(cmd, NULL) < 0)
-        ret = -1;
-
-    virCommandFree(cmd);
-    cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
-                               "-F", "qcow2", "-b", absqcow2, "wrap", NULL);
-    if (virCommandRun(cmd, NULL) < 0)
-        ret = -1;
-
     /* Behavior of an infinite loop chain */
-    TEST_CHAIN("qcow2-qcow2_infinite-mutual", abswrap, VIR_STORAGE_FILE_QCOW2, EXP_FAIL);
+    TEST_CHAIN("qcow2-qcow2_infinite-self",
+               abs_srcdir "/virstoragetestdata/images/loop-self.qcow2",
+               VIR_STORAGE_FILE_QCOW2, EXP_FAIL);
+    TEST_CHAIN("qcow2-qcow2_infinite-mutual",
+               abs_srcdir "/virstoragetestdata/images/loop-2.qcow2",
+               VIR_STORAGE_FILE_QCOW2, EXP_FAIL);
 
     /* setup data for backing chain lookup testing */
     if (chdir(abs_srcdir "/virstoragetestdata/lookup") < 0) {
diff --git a/tests/virstoragetestdata/images/loop-1.qcow2 b/tests/virstoragetestdata/images/loop-1.qcow2
new file mode 100644 (file)
index 0000000..21b0bb8
Binary files /dev/null and b/tests/virstoragetestdata/images/loop-1.qcow2 differ
diff --git a/tests/virstoragetestdata/images/loop-2.qcow2 b/tests/virstoragetestdata/images/loop-2.qcow2
new file mode 100644 (file)
index 0000000..3e2e020
Binary files /dev/null and b/tests/virstoragetestdata/images/loop-2.qcow2 differ
diff --git a/tests/virstoragetestdata/images/loop-self.qcow2 b/tests/virstoragetestdata/images/loop-self.qcow2
new file mode 100644 (file)
index 0000000..c8f5927
Binary files /dev/null and b/tests/virstoragetestdata/images/loop-self.qcow2 differ