File: test-disk-create.sh

package info (click to toggle)
libguestfs 1%3A1.44.0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 118,932 kB
  • sloc: ansic: 458,017; ml: 51,424; sh: 13,191; java: 9,578; makefile: 7,931; cs: 6,328; haskell: 5,674; python: 3,871; perl: 3,528; erlang: 2,446; xml: 1,347; ruby: 350; pascal: 257; javascript: 157; lex: 135; yacc: 128; cpp: 10
file content (153 lines) | stat: -rwxr-xr-x 3,663 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#!/bin/bash
# Copyright (C) 2014 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

# Test the disk-create API.

set -e

$TEST_FUNCTIONS
skip_if_skipped

rm -f disk*.img file:*.img

# XXX We should also test failure paths.

guestfish <<EOF
  disk-create disk1.img  raw   256K
  disk-create disk2.img  raw   256K preallocation:off
  disk-create disk2.img  raw   256K preallocation:sparse
  disk-create disk3.img  raw   256K preallocation:full
  disk-create disk4.img  qcow2 256K
  disk-create disk5.img  qcow2 256K preallocation:off
  disk-create disk5.img  qcow2 256K preallocation:sparse
  disk-create disk6.img  qcow2 256K preallocation:metadata
  disk-create disk6.img  qcow2 256K preallocation:full
  disk-create disk7.img  qcow2 256K compat:1.1
  disk-create disk8.img  qcow2 256K clustersize:128K
  disk-create disk9.img  qcow2 -1   backingfile:disk1.img compat:1.1
  disk-create disk10.img qcow2 -1   backingfile:disk2.img backingformat:raw
  disk-create disk11.img qcow2 -1   backingfile:disk4.img backingformat:qcow2

  # Some annoying corner-cases in qemu-img.
  disk-create disk:0.img qcow2 256K
  disk-create file:0.img qcow2 256K
  disk-create disk,0.img qcow2 256K
  disk-create disk,,0.img qcow2 256K
EOF

output="$(guestfish <<EOF
  disk-format disk1.img
  disk-format disk2.img
  disk-format disk3.img
  disk-format disk4.img
  disk-format disk5.img
  disk-format disk6.img
  disk-format disk7.img
  disk-format disk8.img
  disk-format disk9.img
  disk-format disk10.img
  disk-format disk11.img
  disk-format disk:0.img
  disk-format file:0.img
  disk-format disk,0.img
  disk-format disk,,0.img

  disk-has-backing-file disk1.img
  disk-has-backing-file disk2.img
  disk-has-backing-file disk3.img
  disk-has-backing-file disk4.img
  disk-has-backing-file disk5.img
  disk-has-backing-file disk6.img
  disk-has-backing-file disk7.img
  disk-has-backing-file disk8.img
  disk-has-backing-file disk9.img
  disk-has-backing-file disk10.img
  disk-has-backing-file disk11.img
  disk-has-backing-file disk:0.img
  disk-has-backing-file file:0.img
  disk-has-backing-file disk,0.img
  disk-has-backing-file disk,,0.img

  disk-virtual-size disk1.img
  disk-virtual-size disk2.img
  disk-virtual-size disk3.img
  disk-virtual-size disk4.img
  disk-virtual-size disk5.img
  disk-virtual-size disk6.img
  disk-virtual-size disk7.img
  disk-virtual-size disk8.img
  disk-virtual-size disk9.img
  disk-virtual-size disk10.img
  disk-virtual-size disk11.img
  disk-virtual-size disk:0.img
  disk-virtual-size file:0.img
  disk-virtual-size disk,0.img
  disk-virtual-size disk,,0.img
EOF
)"

if [ "$output" != "raw
raw
raw
qcow2
qcow2
qcow2
qcow2
qcow2
qcow2
qcow2
qcow2
qcow2
qcow2
qcow2
qcow2
false
false
false
false
false
false
false
false
true
true
true
false
false
false
false
262144
262144
262144
262144
262144
262144
262144
262144
262144
262144
262144
262144
262144
262144
262144" ]; then
    echo "$0: unexpected output:"
    echo "$output"
    exit 1
fi

rm disk*.img file:*.img