xref: /openbmc/qemu/tests/qemu-iotests/053 (revision 7da94ca741e01a80afd65e107cc2cee160d1b2d2)
1*7da94ca7SStefan Hajnoczi#!/bin/bash
2*7da94ca7SStefan Hajnoczi#
3*7da94ca7SStefan Hajnoczi# Test qemu-img convert when image length is not a multiple of cluster size
4*7da94ca7SStefan Hajnoczi#
5*7da94ca7SStefan Hajnoczi# Copyright (C) 2013 Red Hat, Inc.
6*7da94ca7SStefan Hajnoczi#
7*7da94ca7SStefan Hajnoczi# This program is free software; you can redistribute it and/or modify
8*7da94ca7SStefan Hajnoczi# it under the terms of the GNU General Public License as published by
9*7da94ca7SStefan Hajnoczi# the Free Software Foundation; either version 2 of the License, or
10*7da94ca7SStefan Hajnoczi# (at your option) any later version.
11*7da94ca7SStefan Hajnoczi#
12*7da94ca7SStefan Hajnoczi# This program is distributed in the hope that it will be useful,
13*7da94ca7SStefan Hajnoczi# but WITHOUT ANY WARRANTY; without even the implied warranty of
14*7da94ca7SStefan Hajnoczi# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15*7da94ca7SStefan Hajnoczi# GNU General Public License for more details.
16*7da94ca7SStefan Hajnoczi#
17*7da94ca7SStefan Hajnoczi# You should have received a copy of the GNU General Public License
18*7da94ca7SStefan Hajnoczi# along with this program.  If not, see <http://www.gnu.org/licenses/>.
19*7da94ca7SStefan Hajnoczi#
20*7da94ca7SStefan Hajnoczi
21*7da94ca7SStefan Hajnoczi# creator
22*7da94ca7SStefan Hajnocziowner=stefanha@redhat.com
23*7da94ca7SStefan Hajnoczi
24*7da94ca7SStefan Hajnocziseq=`basename $0`
25*7da94ca7SStefan Hajnocziecho "QA output created by $seq"
26*7da94ca7SStefan Hajnoczi
27*7da94ca7SStefan Hajnoczihere=`pwd`
28*7da94ca7SStefan Hajnoczitmp=/tmp/$$
29*7da94ca7SStefan Hajnoczistatus=1	# failure is the default!
30*7da94ca7SStefan Hajnoczi
31*7da94ca7SStefan Hajnoczi_cleanup()
32*7da94ca7SStefan Hajnoczi{
33*7da94ca7SStefan Hajnoczi	rm -f $TEST_IMG.orig
34*7da94ca7SStefan Hajnoczi	_cleanup_test_img
35*7da94ca7SStefan Hajnoczi}
36*7da94ca7SStefan Hajnoczitrap "_cleanup; exit \$status" 0 1 2 3 15
37*7da94ca7SStefan Hajnoczi
38*7da94ca7SStefan Hajnoczi# get standard environment, filters and checks
39*7da94ca7SStefan Hajnoczi. ./common.rc
40*7da94ca7SStefan Hajnoczi. ./common.filter
41*7da94ca7SStefan Hajnoczi
42*7da94ca7SStefan Hajnoczi_supported_fmt qcow2 qcow
43*7da94ca7SStefan Hajnoczi_supported_proto file
44*7da94ca7SStefan Hajnoczi_supported_os Linux
45*7da94ca7SStefan Hajnoczi
46*7da94ca7SStefan Hajnocziecho
47*7da94ca7SStefan Hajnocziecho "== Creating single sector image =="
48*7da94ca7SStefan Hajnoczi
49*7da94ca7SStefan Hajnoczi_make_test_img 512
50*7da94ca7SStefan Hajnoczi$QEMU_IO -c "write -P0xa 0 512" $TEST_IMG | _filter_qemu_io
51*7da94ca7SStefan Hajnoczimv $TEST_IMG $TEST_IMG.orig
52*7da94ca7SStefan Hajnoczi
53*7da94ca7SStefan Hajnocziecho
54*7da94ca7SStefan Hajnocziecho "== Converting the image, compressed =="
55*7da94ca7SStefan Hajnoczi
56*7da94ca7SStefan Hajnoczi$QEMU_IMG convert -c -O $IMGFMT $TEST_IMG.orig $TEST_IMG
57*7da94ca7SStefan Hajnoczi_check_test_img
58*7da94ca7SStefan Hajnoczi
59*7da94ca7SStefan Hajnocziecho
60*7da94ca7SStefan Hajnocziecho "== Checking compressed image virtual disk size =="
61*7da94ca7SStefan Hajnoczi
62*7da94ca7SStefan Hajnoczi_img_info | grep '^virtual size:'
63*7da94ca7SStefan Hajnoczi
64*7da94ca7SStefan Hajnocziecho
65*7da94ca7SStefan Hajnocziecho "== Verifying the compressed image =="
66*7da94ca7SStefan Hajnoczi
67*7da94ca7SStefan Hajnoczi$QEMU_IO -c "read -P0xa 0 512" $TEST_IMG | _filter_qemu_io
68*7da94ca7SStefan Hajnoczi
69*7da94ca7SStefan Hajnoczi# success, all done
70*7da94ca7SStefan Hajnocziecho "*** done"
71*7da94ca7SStefan Hajnoczirm -f $seq.full
72*7da94ca7SStefan Hajnoczistatus=0
73*7da94ca7SStefan Hajnoczi
74