qemu-patch-raspberry4/tests/qemu-iotests/013
Christoph Hellwig e8c212d682 qemu-iotests: replace FSF postal addresses with www.gnu.org links
Blue Swirl notices that we were using the old FSF post address in the
license boilerplates.  Replace both the old and new address with links
to the gnu.org licenses homepage as suggested by Ben Pfaff.

Signed-off-by: Christoph Hellwig <hch@lst.de>
2012-02-22 16:17:02 +01:00

97 lines
2.1 KiB
Bash
Executable file

#!/bin/sh
#
# qcow2 pattern test, empty and compressed image
#
# Copyright (C) 2009 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=kwolf@redhat.com
seq=`basename $0`
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
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
. ./common.pattern
# much of this could be generic for any format supporting compression.
_supported_fmt qcow qcow2
_supported_os Linux
TEST_OFFSETS="0 4294967296"
TEST_OPS="writev read write readv"
_make_test_img 6G
echo "Testing empty image"
echo
for offset in $TEST_OFFSETS; do
echo "At offset $offset:"
for op in $TEST_OPS; do
io_test $op $offset
done
_check_test_img
done
echo "Compressing image"
echo
mv $TEST_IMG $TEST_IMG.orig
$QEMU_IMG convert -f $IMGFMT -O $IMGFMT -c $TEST_IMG.orig $TEST_IMG
echo "Testing compressed image"
echo
for offset in $TEST_OFFSETS; do
echo "With offset $offset:"
for op in read readv; do
io_test $op $offset
done
_check_test_img
done
echo "Testing compressed image with odd offsets"
echo
for offset in $TEST_OFFSETS; do
# Some odd offset (1 sector), so tests will write to areas occupied partly
# by old (compressed) data and empty clusters
offset=$((offset + 512))
echo "With offset $offset:"
for op in $TEST_OPS; do
io_test $op $offset
done
_check_test_img
done
# success, all done
echo "*** done"
rm -f $seq.full
status=0