mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
uml: tests/qemu: Fix tests so they work without support for qcow2.
This commit is contained in:
@@ -22,41 +22,56 @@
|
||||
|
||||
set -e
|
||||
|
||||
guestfish=../../fish/guestfish
|
||||
|
||||
# UML backend doesn't support qcow2 format.
|
||||
supports_qcow2=yes
|
||||
if [ "$($guestfish get-backend)" = "uml" ]; then
|
||||
supports_qcow2=no
|
||||
fi
|
||||
|
||||
rm -f isolation1.img isolation2.img isolation3.img
|
||||
|
||||
../../fish/guestfish sparse isolation1.img 100M
|
||||
isolation1_md5sum="$(md5sum isolation1.img | awk '{print $1}')"
|
||||
../../fish/guestfish sparse isolation2.img 100M
|
||||
isolation2_md5sum="$(md5sum isolation2.img | awk '{print $1}')"
|
||||
qemu-img create -f qcow2 isolation3.img 100M
|
||||
isolation3_md5sum="$(md5sum isolation3.img | awk '{print $1}')"
|
||||
|
||||
if [ "$supports_qcow2" = "yes" ]; then
|
||||
qemu-img create -f qcow2 isolation3.img 100M
|
||||
isolation3_md5sum="$(md5sum isolation3.img | awk '{print $1}')"
|
||||
add3="add-drive-opts isolation3.img format:qcow2 readonly:true"
|
||||
cmds3="
|
||||
part-disk /dev/sdc mbr
|
||||
mkfs ext2 /dev/sdc1
|
||||
mkmountpoint /c
|
||||
mount /dev/sdc1 /c
|
||||
write /c/test This_is_a_test
|
||||
"
|
||||
fi
|
||||
|
||||
# The vitally important calls are 'add-drive-ro' and
|
||||
# 'add-drive-opts ... readonly:true'.
|
||||
../../fish/guestfish <<'EOF'
|
||||
../../fish/guestfish <<EOF
|
||||
add-drive-ro isolation1.img
|
||||
add-drive-opts isolation2.img format:raw readonly:true
|
||||
add-drive-opts isolation3.img format:qcow2 readonly:true
|
||||
$add3
|
||||
|
||||
run
|
||||
|
||||
part-disk /dev/sda mbr
|
||||
part-disk /dev/sdb mbr
|
||||
part-disk /dev/sdc mbr
|
||||
|
||||
mkfs ext2 /dev/sda1
|
||||
mkfs ext2 /dev/sdb1
|
||||
mkfs ext2 /dev/sdc1
|
||||
|
||||
mkmountpoint /a
|
||||
mount /dev/sda1 /a
|
||||
write /a/test This_is_a_test
|
||||
|
||||
part-disk /dev/sdb mbr
|
||||
mkfs ext2 /dev/sdb1
|
||||
mkmountpoint /b
|
||||
mount /dev/sdb1 /b
|
||||
mkmountpoint /c
|
||||
mount /dev/sdc1 /c
|
||||
write /b/test This_is_a_test
|
||||
|
||||
write /a/test "This is a test"
|
||||
write /b/test "This is a test"
|
||||
write /c/test "This is a test"
|
||||
$cmds3
|
||||
|
||||
# Really try hard to force writes to the disk.
|
||||
umount-all
|
||||
@@ -84,8 +99,12 @@ fi
|
||||
if [ "$(md5sum isolation2.img | awk '{print $1}')" != "$isolation2_md5sum" ]; then
|
||||
serious_error
|
||||
fi
|
||||
if [ "$(md5sum isolation3.img | awk '{print $1}')" != "$isolation3_md5sum" ]; then
|
||||
if [ "$supports_qcow2" = "yes" -a \
|
||||
"$(md5sum isolation3.img | awk '{print $1}')" != "$isolation3_md5sum" ]; then
|
||||
serious_error
|
||||
fi
|
||||
|
||||
rm isolation1.img isolation2.img isolation3.img
|
||||
rm isolation1.img isolation2.img
|
||||
if [ "$supports_qcow2" = "yes" ]; then
|
||||
rm isolation3.img
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user