From df94a4e907483e8b773399aa7cbb2ae47c41b7be Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 6 Sep 2021 16:56:19 +0200 Subject: [PATCH] virstoragetest: Test backing chain loops with hardcoded images MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Ján Tomko --- build-aux/syntax-check.mk | 2 +- tests/virstoragetest.c | 30 ++++-------------- tests/virstoragetestdata/images/loop-1.qcow2 | Bin 0 -> 196616 bytes tests/virstoragetestdata/images/loop-2.qcow2 | Bin 0 -> 196616 bytes .../virstoragetestdata/images/loop-self.qcow2 | Bin 0 -> 196616 bytes 5 files changed, 7 insertions(+), 25 deletions(-) create mode 100644 tests/virstoragetestdata/images/loop-1.qcow2 create mode 100644 tests/virstoragetestdata/images/loop-2.qcow2 create mode 100644 tests/virstoragetestdata/images/loop-self.qcow2 diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk index 2058af0b77..cb54c8ba36 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -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$$) diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c index 299b16e119..785699d4e8 100644 --- a/tests/virstoragetest.c +++ b/tests/virstoragetest.c @@ -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 index 0000000000000000000000000000000000000000..21b0bb8d8749647b3de277175de0611d070b9ee8 GIT binary patch literal 196616 zc-rmJJx;?g6aZkSg^i&{$czL-4}pZl!o(aJS41jFNK%zBaTLzOF*pSh3!$Pzmo|I9 z&+^Zc>?c3_{^s^4gfI_jdc6z2`peH@I)7PIoB6PK zntneFsoq1#i>B+-$D$jTHCa?mv#z_bCnoW=i%prW(md<3bXlz8!Tr-k^;|cxZHuZ* zyS|Rcs{G4e<}pw2=4mXuriksK>xWhL)~8KeE~<6ewMVZXhB}|Kx*hrGlcdQu>0ZsF z&aJAdzM5a}z6SsR00000000000000000000000000000000000000000000000000 z0000000000000000000000000I5iVb00000000000000000000000000000000000 z00000000000000000000000000000000000000000001R@{<1s000000000000000 z0000000000000000000000000000000000000000000000000000000000000001k EUtkzHjsO4v literal 0 Hc-jL100001 diff --git a/tests/virstoragetestdata/images/loop-2.qcow2 b/tests/virstoragetestdata/images/loop-2.qcow2 new file mode 100644 index 0000000000000000000000000000000000000000..3e2e020b5a3ac98516e4a5fc557fbe5aa7e89d39 GIT binary patch literal 196616 zc-rmJJx;?g6aZkSfsLU@$czLMJp>XG3lno_T@k5GLXxVKiKB2Hj=?FASO^szy0qE* zeU^WoWIy@Y54U$eA%rw+jmG_O(f9E-{0KYAc1-u8Bn)%b_j(t6Z7x6i>HK9{ttb8B zIsJa@Q@w{UE1GVTJr&)stjV-$npNEmJu!-}U2MvHko#>fR^?y*au#RV{UnQJ*A%fmbp5c%-!@qj=hJFccJ0yYhrZ5bUbh1ueUvo$I@_yx z(78ob)mJyyyYB%200000000000000000000000000000000000000000000000000 z000000000000000000000000008Y)w6951J000000000000000000000000000000 z000000000000000000000000000000000000000000000oV?_}0RR910000000000 z0000000000000000000000000000000000000000000000000000000000000000$ F?-ybCIgJ1S literal 0 Hc-jL100001 diff --git a/tests/virstoragetestdata/images/loop-self.qcow2 b/tests/virstoragetestdata/images/loop-self.qcow2 new file mode 100644 index 0000000000000000000000000000000000000000..c8f5927bed91990513b7d2acacbda043602e375a GIT binary patch literal 196616 zc-rmJJx;?g6aZkSg_#~9GZG9v1QHSp6LUyi5h)}gNma_kQ8*9B;1ozKgo+Mb+U)&4 z%Rf)DpZx6mo7F^R8zY^$tH7g?XB%c6`2_fPZsxoKn96?K*N znP@Yp2n(gi`X5yekilIP1?p~UazXYJ9_;v)cKq>-N;9uByF}%_i7$> zuB_|ks*C0FdiO&B00000000000000000000000000000000000000000000000000 z00000000000000000000000000KiF^cme