From 672b9795e85b48f337b3da2d6fa393e7788d79a1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 1 Jul 2022 11:18:53 +0100 Subject: [PATCH] tests: Add a simple test of -o local -of qcow2 -oo compressed This only tests that it doesn't completely fail, which it did before we fixed nbdcopy. I checked the file sizes manually and with compression the resulting file is about half the size. This test is a clone of tests/test-v2v-of-option.sh. In order to compare the sizes across the two tests, and to keep the tests fairly similar I added an ls -l command to the original test. Reviewed-by: Laszlo Ersek (cherry picked from commit 7505750972b49e1a448c519a27998bd5f20be60a) --- tests/Makefile.am | 2 + tests/test-v2v-o-local-qcow2-compressed.sh | 53 ++++++++++++++++++++++ tests/test-v2v-of-option.sh | 2 + 3 files changed, 57 insertions(+) create mode 100755 tests/test-v2v-o-local-qcow2-compressed.sh diff --git a/tests/Makefile.am b/tests/Makefile.am index e787a86c..a26ecf7a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -82,6 +82,7 @@ TESTS = \ test-v2v-networks-and-bridges.sh \ test-v2v-o-glance.sh \ test-v2v-o-libvirt.sh \ + test-v2v-o-local-qcow2-compressed.sh \ test-v2v-o-null.sh \ test-v2v-o-openstack.sh \ test-v2v-o-qemu.sh \ @@ -241,6 +242,7 @@ EXTRA_DIST += \ test-v2v-networks-and-bridges-expected.xml \ test-v2v-o-glance.sh \ test-v2v-o-libvirt.sh \ + test-v2v-o-local-qcow2-compressed.sh \ test-v2v-o-null.sh \ test-v2v-o-openstack.sh \ test-v2v-o-qemu.sh \ diff --git a/tests/test-v2v-o-local-qcow2-compressed.sh b/tests/test-v2v-o-local-qcow2-compressed.sh new file mode 100755 index 00000000..32c9ebbe --- /dev/null +++ b/tests/test-v2v-o-local-qcow2-compressed.sh @@ -0,0 +1,53 @@ +#!/bin/bash - +# libguestfs virt-v2v test script +# Copyright (C) 2014-2022 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +# Test -o local -of qcow2 -oo compressed. + +set -e + +source ./functions.sh +set -e +set -x + +skip_if_skipped +requires test -f ../test-data/phony-guests/windows.img + +# This requires fixed nbdcopy >= 1.13.5. +requires nbdcopy --version +nbdcopy --version | { + IFS=' .' read name major minor release + requires test \( "$major" -gt 1 \) -o \ + \( "$major" -eq 1 -a "$minor" -gt 13 \) -o \ + \( "$major" -eq 1 -a "$minor" -eq 13 -a "$release" -ge 5 \) +} + +export VIRT_TOOLS_DATA_DIR="$srcdir/../test-data/fake-virt-tools" + +d=test-v2v-o-local-qcow2-compressed.d +rm -rf $d +cleanup_fn rm -rf $d +mkdir $d + +$VG virt-v2v --debug-gc \ + -i disk ../test-data/phony-guests/windows.img \ + -o local -of qcow2 -oo compressed -os $d + +# Test the libvirt XML metadata and a disk was created. +ls -l $d +test -f $d/windows.xml +test -f $d/windows-sda diff --git a/tests/test-v2v-of-option.sh b/tests/test-v2v-of-option.sh index bdfd3418..6c5f5938 100755 --- a/tests/test-v2v-of-option.sh +++ b/tests/test-v2v-of-option.sh @@ -42,6 +42,8 @@ $VG virt-v2v --debug-gc \ -i libvirt -ic "$libvirt_uri" windows \ -o local -os $d -of qcow2 +ls -l $d + # Test the disk is qcow2 format. if [ "$(guestfish disk-format $d/windows-sda)" != qcow2 ]; then echo "$0: test failed: output is not qcow2"