111a82d14SPhilippe Mathieu-Daudé#!/usr/bin/env bash 2ee17f9d5SKevin Wolf# 3ee17f9d5SKevin Wolf# Test qemu-img operation on zero size images 4ee17f9d5SKevin Wolf# 5ee17f9d5SKevin Wolf# Copyright (C) 2012 Red Hat, Inc. 6ee17f9d5SKevin Wolf# 7ee17f9d5SKevin Wolf# This program is free software; you can redistribute it and/or modify 8ee17f9d5SKevin Wolf# it under the terms of the GNU General Public License as published by 9ee17f9d5SKevin Wolf# the Free Software Foundation; either version 2 of the License, or 10ee17f9d5SKevin Wolf# (at your option) any later version. 11ee17f9d5SKevin Wolf# 12ee17f9d5SKevin Wolf# This program is distributed in the hope that it will be useful, 13ee17f9d5SKevin Wolf# but WITHOUT ANY WARRANTY; without even the implied warranty of 14ee17f9d5SKevin Wolf# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15ee17f9d5SKevin Wolf# GNU General Public License for more details. 16ee17f9d5SKevin Wolf# 17ee17f9d5SKevin Wolf# You should have received a copy of the GNU General Public License 18ee17f9d5SKevin Wolf# along with this program. If not, see <http://www.gnu.org/licenses/>. 19ee17f9d5SKevin Wolf# 20ee17f9d5SKevin Wolf 21ee17f9d5SKevin Wolf# creator 22ee17f9d5SKevin Wolfowner=kwolf@redhat.com 23ee17f9d5SKevin Wolf 24ee17f9d5SKevin Wolfseq=`basename $0` 25ee17f9d5SKevin Wolfecho "QA output created by $seq" 26ee17f9d5SKevin Wolf 27ee17f9d5SKevin Wolfstatus=1 # failure is the default! 28ee17f9d5SKevin Wolf 29ee17f9d5SKevin Wolf_cleanup() 30ee17f9d5SKevin Wolf{ 31ee17f9d5SKevin Wolf _cleanup_test_img 32ee17f9d5SKevin Wolf} 33ee17f9d5SKevin Wolftrap "_cleanup; exit \$status" 0 1 2 3 15 34ee17f9d5SKevin Wolf 35ee17f9d5SKevin Wolf# get standard environment, filters and checks 36ee17f9d5SKevin Wolf. ./common.rc 37ee17f9d5SKevin Wolf. ./common.filter 38ee17f9d5SKevin Wolf 39ebab5636SDaniel P. Berrange_supported_fmt qcow2 qed 40ee17f9d5SKevin Wolf_supported_proto file 41ee17f9d5SKevin Wolf 42ee17f9d5SKevin Wolfecho 43ee17f9d5SKevin Wolfecho "== Creating zero size image ==" 44ee17f9d5SKevin Wolf 45ee17f9d5SKevin Wolf_make_test_img 0 46ee17f9d5SKevin Wolf_check_test_img 47ee17f9d5SKevin Wolf 48fef9c191SJeff Codymv "$TEST_IMG" "$TEST_IMG.orig" 49ee17f9d5SKevin Wolf 50ee17f9d5SKevin Wolfecho 51ee17f9d5SKevin Wolfecho "== Converting the image ==" 52ee17f9d5SKevin Wolf 53fef9c191SJeff Cody$QEMU_IMG convert -O $IMGFMT "$TEST_IMG.orig" "$TEST_IMG" 54ee17f9d5SKevin Wolf_check_test_img 55ee17f9d5SKevin Wolf 56ee17f9d5SKevin Wolfecho 57ee17f9d5SKevin Wolfecho "== Converting the image, compressed ==" 58ee17f9d5SKevin Wolf 59ee17f9d5SKevin Wolfif [ "$IMGFMT" == "qcow2" ]; then 60fef9c191SJeff Cody $QEMU_IMG convert -c -O $IMGFMT "$TEST_IMG.orig" "$TEST_IMG" 61ee17f9d5SKevin Wolffi 62ee17f9d5SKevin Wolf_check_test_img 63ee17f9d5SKevin Wolf 64ee17f9d5SKevin Wolfecho 65ee17f9d5SKevin Wolfecho "== Rebasing the image ==" 66ee17f9d5SKevin Wolf 67*b66ff2c2SEric Blake$QEMU_IMG rebase -u -b "$TEST_IMG.orig" -F $IMGFMT "$TEST_IMG" 68*b66ff2c2SEric Blake$QEMU_IMG rebase -b "$TEST_IMG.orig" -F $IMGFMT "$TEST_IMG" 69ee17f9d5SKevin Wolf_check_test_img 70ee17f9d5SKevin Wolf 71ee17f9d5SKevin Wolf# success, all done 72ee17f9d5SKevin Wolfecho "*** done" 73ee17f9d5SKevin Wolfrm -f $seq.full 74ee17f9d5SKevin Wolfstatus=0 75ee17f9d5SKevin Wolf 76