iotests: Add test for image creation fallback

Signed-off-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20200122164532.178040-6-mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
[mreitz: Added a note that NBD does not support resizing, which is why
         the second case is expected to fail]
Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Max Reitz 2020-01-22 17:45:32 +01:00
parent 80f0900905
commit 4dddeac115
3 changed files with 77 additions and 0 deletions

62
tests/qemu-iotests/259 Executable file
View File

@ -0,0 +1,62 @@
#!/usr/bin/env bash
#
# Test generic image creation fallback (by using NBD)
#
# Copyright (C) 2019 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, see <http://www.gnu.org/licenses/>.
#
# creator
owner=mreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
status=1 # failure is the default!
_cleanup()
{
_cleanup_test_img
}
trap "_cleanup; exit \$status" 0 1 2 3 15
# get standard environment, filters and checks
. ./common.rc
. ./common.filter
_supported_fmt raw
_supported_proto nbd
_supported_os Linux
_make_test_img 64M
echo
echo '--- Testing creation ---'
$QEMU_IMG create -f qcow2 "$TEST_IMG" 64M | _filter_img_create
$QEMU_IMG info "$TEST_IMG" | _filter_img_info
echo
echo '--- Testing creation for which the node would need to grow ---'
# NBD does not support resizing, so this will fail
$QEMU_IMG create -f qcow2 -o preallocation=metadata "$TEST_IMG" 64M 2>&1 \
| _filter_img_create
# success, all done
echo "*** done"
rm -f $seq.full
status=0

View File

@ -0,0 +1,14 @@
QA output created by 259
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864
--- Testing creation ---
Formatting 'TEST_DIR/t.IMGFMT', fmt=qcow2 size=67108864
image: TEST_DIR/t.IMGFMT
file format: qcow2
virtual size: 64 MiB (67108864 bytes)
disk size: unavailable
--- Testing creation for which the node would need to grow ---
qemu-img: TEST_DIR/t.IMGFMT: Could not resize image: Image format driver does not support resize
Formatting 'TEST_DIR/t.IMGFMT', fmt=qcow2 size=67108864 preallocation=metadata
*** done

View File

@ -273,6 +273,7 @@
256 rw auto quick 256 rw auto quick
257 rw 257 rw
258 rw quick 258 rw quick
259 rw auto quick
260 rw quick 260 rw quick
261 rw 261 rw
262 rw quick migration 262 rw quick migration