1*11a82d14SPhilippe 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_supported_os Linux 42ee17f9d5SKevin Wolf 43ee17f9d5SKevin Wolfecho 44ee17f9d5SKevin Wolfecho "== Creating zero size image ==" 45ee17f9d5SKevin Wolf 46ee17f9d5SKevin Wolf_make_test_img 0 47ee17f9d5SKevin Wolf_check_test_img 48ee17f9d5SKevin Wolf 49fef9c191SJeff Codymv "$TEST_IMG" "$TEST_IMG.orig" 50ee17f9d5SKevin Wolf 51ee17f9d5SKevin Wolfecho 52ee17f9d5SKevin Wolfecho "== Converting the image ==" 53ee17f9d5SKevin Wolf 54fef9c191SJeff Cody$QEMU_IMG convert -O $IMGFMT "$TEST_IMG.orig" "$TEST_IMG" 55ee17f9d5SKevin Wolf_check_test_img 56ee17f9d5SKevin Wolf 57ee17f9d5SKevin Wolfecho 58ee17f9d5SKevin Wolfecho "== Converting the image, compressed ==" 59ee17f9d5SKevin Wolf 60ee17f9d5SKevin Wolfif [ "$IMGFMT" == "qcow2" ]; then 61fef9c191SJeff Cody $QEMU_IMG convert -c -O $IMGFMT "$TEST_IMG.orig" "$TEST_IMG" 62ee17f9d5SKevin Wolffi 63ee17f9d5SKevin Wolf_check_test_img 64ee17f9d5SKevin Wolf 65ee17f9d5SKevin Wolfecho 66ee17f9d5SKevin Wolfecho "== Rebasing the image ==" 67ee17f9d5SKevin Wolf 68fef9c191SJeff Cody$QEMU_IMG rebase -u -b "$TEST_IMG.orig" "$TEST_IMG" 69fef9c191SJeff Cody$QEMU_IMG rebase -b "$TEST_IMG.orig" "$TEST_IMG" 70ee17f9d5SKevin Wolf_check_test_img 71ee17f9d5SKevin Wolf 72ee17f9d5SKevin Wolf# success, all done 73ee17f9d5SKevin Wolfecho "*** done" 74ee17f9d5SKevin Wolfrm -f $seq.full 75ee17f9d5SKevin Wolfstatus=0 76ee17f9d5SKevin Wolf 77