summaryrefslogtreecommitdiffstats
path: root/regressions
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2010-10-21 23:05:26 +0100
committerRichard W.M. Jones <rjones@redhat.com>2010-10-22 17:45:06 +0100
commit0c1d3c02a8147617ee0646e37d011235abdd2c22 (patch)
treeaa7a73c83c09065a00383431cc04052b74e73081 /regressions
parent14490c3e1aac61c6ac90f28828896683f64f0dc9 (diff)
downloadlibguestfs-0c1d3c02a8147617ee0646e37d011235abdd2c22.tar.gz
libguestfs-0c1d3c02a8147617ee0646e37d011235abdd2c22.tar.xz
libguestfs-0c1d3c02a8147617ee0646e37d011235abdd2c22.zip
fish: Specify format of disks (RHBZ#642934,CVE-2010-3851).
For libvirt guests, the disk format is copied from libvirt (if libvirt knows it). For command line disk images, you can use --format to override format auto-detection.
Diffstat (limited to 'regressions')
-rwxr-xr-xregressions/test-guestfish-a.sh25
-rwxr-xr-xregressions/test-guestfish-d.sh23
2 files changed, 39 insertions, 9 deletions
diff --git a/regressions/test-guestfish-a.sh b/regressions/test-guestfish-a.sh
index 8847b85a..887d1aae 100755
--- a/regressions/test-guestfish-a.sh
+++ b/regressions/test-guestfish-a.sh
@@ -20,9 +20,26 @@
set -e
-rm -f test.img
+rm -f test.out
-truncate -s 10M test.img
-../fish/guestfish -a test.img </dev/null
+../fish/guestfish -x -a /dev/null </dev/null >test.out 2>&1
-rm -f test.img
+! grep -sq '^add_drive.*format' test.out
+
+../fish/guestfish -x --format=qcow2 -a /dev/null </dev/null >test.out 2>&1
+
+grep -sq '^add_drive.*format:qcow2' test.out
+
+../fish/guestfish -x --ro --format=qcow2 -a /dev/null </dev/null >test.out 2>&1
+
+grep -sq '^add_drive.*readonly:true.*format:qcow2' test.out
+
+../fish/guestfish -x --format -a /dev/null </dev/null >test.out 2>&1
+
+! grep -sq '^add_drive.*format' test.out
+
+../fish/guestfish -x -a /dev/null --format=qcow2 </dev/null >test.out 2>&1
+
+! grep -sq '^add_drive.*format' test.out
+
+rm -f test.out
diff --git a/regressions/test-guestfish-d.sh b/regressions/test-guestfish-d.sh
index bf5d5145..be207482 100755
--- a/regressions/test-guestfish-d.sh
+++ b/regressions/test-guestfish-d.sh
@@ -20,11 +20,11 @@
set -e
-rm -f test.img test.xml test.out
+rm -f test1.img test2.img test3.img test.xml test.out
cwd="$(pwd)"
-truncate -s 10M test.img
+truncate -s 1M test1.img test2.img test3.img
# Libvirt test XML, see libvirt.git/examples/xml/test/testnode.xml
cat > test.xml <<EOF
@@ -38,9 +38,19 @@ cat > test.xml <<EOF
<memory>524288</memory>
<devices>
<disk type="file">
- <source file="$cwd/test.img"/>
+ <source file="$cwd/test1.img"/>
<target dev="hda"/>
</disk>
+ <disk type="file">
+ <driver name="qemu" type="raw"/>
+ <source file="$cwd/test2.img"/>
+ <target dev="hdb"/>
+ </disk>
+ <disk type="file">
+ <driver name="qemu" type="qcow2"/>
+ <source file="$cwd/test3.img"/>
+ <target dev="hdc"/>
+ </disk>
</devices>
</domain>
</node>
@@ -48,6 +58,9 @@ EOF
../fish/guestfish -c "test://$cwd/test.xml" --ro -d guest -x \
</dev/null >test.out 2>&1
-grep -sq '^add_drive_ro.*test.img' test.out
+grep -sq '^add_drive.*test1.img.*readonly:true' test.out
+! grep -sq '^add_drive.*test1.img.*format' test.out
+grep -sq '^add_drive.*test2.img.*readonly:true.*format:raw' test.out
+grep -sq '^add_drive.*test3.img.*readonly:true.*format:qcow2' test.out
-rm -f test.img test.xml test.out
+rm -f test1.img test2.img test3.img test.xml test.out