xref: /qemu/tests/qemu-iotests/146 (revision 2c060c0f)
111a82d14SPhilippe Mathieu-Daudé#!/usr/bin/env bash
2798609bbSJeff Cody#
3798609bbSJeff Cody# Test VHD image format creator detection and override
4798609bbSJeff Cody#
5798609bbSJeff Cody# Copyright (C) 2016 Red Hat, Inc.
6798609bbSJeff Cody#
7798609bbSJeff Cody# This program is free software; you can redistribute it and/or modify
8798609bbSJeff Cody# it under the terms of the GNU General Public License as published by
9798609bbSJeff Cody# the Free Software Foundation; either version 2 of the License, or
10798609bbSJeff Cody# (at your option) any later version.
11798609bbSJeff Cody#
12798609bbSJeff Cody# This program is distributed in the hope that it will be useful,
13798609bbSJeff Cody# but WITHOUT ANY WARRANTY; without even the implied warranty of
14798609bbSJeff Cody# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15798609bbSJeff Cody# GNU General Public License for more details.
16798609bbSJeff Cody#
17798609bbSJeff Cody# You should have received a copy of the GNU General Public License
18798609bbSJeff Cody# along with this program.  If not, see <http://www.gnu.org/licenses/>.
19798609bbSJeff Cody#
20798609bbSJeff Cody
21798609bbSJeff Cody# creator
22798609bbSJeff Codyowner=jcody@redhat.com
23798609bbSJeff Cody
24798609bbSJeff Codyseq=`basename $0`
25798609bbSJeff Codyecho "QA output created by $seq"
26798609bbSJeff Cody
27798609bbSJeff Codystatus=1    # failure is the default!
28798609bbSJeff Cody
29798609bbSJeff Cody_cleanup()
30798609bbSJeff Cody{
31798609bbSJeff Cody    _cleanup_qemu
32798609bbSJeff Cody    _cleanup_test_img
33798609bbSJeff Cody}
34798609bbSJeff Codytrap "_cleanup; exit \$status" 0 1 2 3 15
35798609bbSJeff Cody
36798609bbSJeff Cody# get standard environment, filters and checks
37798609bbSJeff Cody. ./common.rc
38798609bbSJeff Cody. ./common.filter
39798609bbSJeff Cody. ./common.qemu
40798609bbSJeff Cody
41798609bbSJeff Cody_supported_fmt vpc
42798609bbSJeff Cody_supported_proto file
43798609bbSJeff Cody_supported_os Linux
44798609bbSJeff Cody
45798609bbSJeff Cody
46798609bbSJeff Codyqemu_comm_method="monitor"
47798609bbSJeff Codysilent=
48798609bbSJeff Cody
49798609bbSJeff Codyecho
50798609bbSJeff Codyecho === Testing VPC Autodetect ===
51798609bbSJeff Codyecho
52798609bbSJeff Cody_use_sample_img virtualpc-dynamic.vhd.bz2
53798609bbSJeff Cody
54*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
55*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,file.filename=$TEST_IMG" \
56*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
57798609bbSJeff Cody
58798609bbSJeff Codyecho
59798609bbSJeff Codyecho === Testing VPC with current_size force ===
60798609bbSJeff Codyecho
61798609bbSJeff Cody
62*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
63*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=current_size,file.filename=$TEST_IMG" \
64*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
65798609bbSJeff Cody
66798609bbSJeff Codyecho
67798609bbSJeff Codyecho === Testing VPC with chs force ===
68798609bbSJeff Codyecho
69798609bbSJeff Cody
70*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
71*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=chs,file.filename=$TEST_IMG" \
72*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
73798609bbSJeff Cody
74798609bbSJeff Cody_cleanup_test_img
75798609bbSJeff Cody
76798609bbSJeff Codyecho
77798609bbSJeff Codyecho === Testing Hyper-V Autodetect ===
78798609bbSJeff Codyecho
79798609bbSJeff Cody_use_sample_img hyperv2012r2-dynamic.vhd.bz2
80798609bbSJeff Cody
81*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
82*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,file.filename=$TEST_IMG" \
83*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
84798609bbSJeff Cody
85798609bbSJeff Codyecho
86798609bbSJeff Codyecho === Testing Hyper-V with current_size force ===
87798609bbSJeff Codyecho
88798609bbSJeff Cody
89*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
90*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=current_size,file.filename=$TEST_IMG" \
91*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
92798609bbSJeff Cody
93798609bbSJeff Codyecho
94798609bbSJeff Codyecho === Testing Hyper-V with chs force ===
95798609bbSJeff Codyecho
96798609bbSJeff Cody
97*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
98*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=chs,file.filename=$TEST_IMG" \
99*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
100798609bbSJeff Cody
101798609bbSJeff Cody_cleanup_test_img
102798609bbSJeff Cody
103798609bbSJeff Codyecho
104798609bbSJeff Codyecho === Testing d2v Autodetect ===
105798609bbSJeff Codyecho
106798609bbSJeff Cody_use_sample_img d2v-zerofilled.vhd.bz2
107798609bbSJeff Cody
108*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
109*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,file.filename=$TEST_IMG" \
110*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
111798609bbSJeff Cody
112798609bbSJeff Codyecho
113798609bbSJeff Codyecho === Testing d2v with current_size force ===
114798609bbSJeff Codyecho
115798609bbSJeff Cody
116*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
117*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=current_size,file.filename=$TEST_IMG" \
118*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
119798609bbSJeff Cody
120798609bbSJeff Codyecho
121798609bbSJeff Codyecho === Testing d2v with chs force ===
122798609bbSJeff Codyecho
123798609bbSJeff Cody
124*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
125*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=chs,file.filename=$TEST_IMG" \
126*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
127798609bbSJeff Cody
1281001dd9fSJeff Cody_cleanup_test_img
1291001dd9fSJeff Cody
1301001dd9fSJeff Codyecho
1311001dd9fSJeff Codyecho === Testing Image create, default ===
1321001dd9fSJeff Codyecho
1331001dd9fSJeff Cody
1341001dd9fSJeff CodyTEST_IMG="${TEST_DIR}/vpc-create-test.vpc"
1351001dd9fSJeff Cody
1361001dd9fSJeff Cody_make_test_img 4G
1371001dd9fSJeff Cody
1381001dd9fSJeff Codyecho
1391001dd9fSJeff Codyecho === Read created image, default opts ====
1401001dd9fSJeff Codyecho
1411001dd9fSJeff Cody
142*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
143*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,file.filename=$TEST_IMG" \
144*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
1451001dd9fSJeff Cody
1461001dd9fSJeff Codyecho
1471001dd9fSJeff Codyecho === Read created image, force_size_calc=chs ====
1481001dd9fSJeff Codyecho
1491001dd9fSJeff Cody
150*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
151*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=chs,file.filename=$TEST_IMG" \
152*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
1531001dd9fSJeff Cody
1541001dd9fSJeff Codyecho
1551001dd9fSJeff Codyecho === Read created image, force_size_calc=current_size ====
1561001dd9fSJeff Codyecho
1571001dd9fSJeff Cody
158*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
159*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=current_size,file.filename=$TEST_IMG" \
160*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
1611001dd9fSJeff Cody
1621001dd9fSJeff Codyecho
1631001dd9fSJeff Codyecho === Testing Image create, force_size ===
1641001dd9fSJeff Codyecho
1651001dd9fSJeff Cody
1661001dd9fSJeff Cody_make_test_img -o force_size 4G
1671001dd9fSJeff Cody
1681001dd9fSJeff Codyecho
1691001dd9fSJeff Codyecho === Read created image, default opts ====
1701001dd9fSJeff Codyecho
1711001dd9fSJeff Cody
172*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
173*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,file.filename=$TEST_IMG" \
174*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
1751001dd9fSJeff Cody
1761001dd9fSJeff Codyecho
1771001dd9fSJeff Codyecho === Read created image, force_size_calc=chs ====
1781001dd9fSJeff Codyecho
1791001dd9fSJeff Cody
180*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
181*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=chs,file.filename=$TEST_IMG" \
182*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
1831001dd9fSJeff Cody
1841001dd9fSJeff Codyecho
1851001dd9fSJeff Codyecho === Read created image, force_size_calc=current_size ====
1861001dd9fSJeff Codyecho
1871001dd9fSJeff Cody
188*2c060c0fSVladimir Sementsov-Ogievskiy$QEMU_IMG map --output=json --image-opts \
189*2c060c0fSVladimir Sementsov-Ogievskiy    "driver=vpc,force_size_calc=current_size,file.filename=$TEST_IMG" \
190*2c060c0fSVladimir Sementsov-Ogievskiy    | _filter_qemu_img_map
191798609bbSJeff Cody
192798609bbSJeff Codyecho "*** done"
193798609bbSJeff Codyrm -f $seq.full
194798609bbSJeff Codystatus=0
195