summaryrefslogtreecommitdiffstats
path: root/regressions
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-10-26 19:27:01 +0100
committerRichard W.M. Jones <rjones@redhat.com>2011-10-26 19:29:57 +0100
commitb893294dcc948d4b41318a400fc4235a190d306b (patch)
treee6b2e9b5a5fe93bfe1bcd9fda2606feb08de6575 /regressions
parent163f7df8452f5d7eb47039a98cd97d498528e4d5 (diff)
downloadlibguestfs-b893294dcc948d4b41318a400fc4235a190d306b.tar.gz
libguestfs-b893294dcc948d4b41318a400fc4235a190d306b.tar.xz
libguestfs-b893294dcc948d4b41318a400fc4235a190d306b.zip
add-domain: Add readonlydisk optional argument (RHBZ#747290).
This optional argument controls how <readonly/> disks in the libvirt XML are handled. It can be set to one of: "write" (default) - add them R/W "read" - add them R/O "error" - throw an error if asked to add them R/W "ignore" - ignore these disks I have added limited regression tests for this feature. However libvirt's test:/// XML does not allow you to specify that a domain starts off shut down, so we cannot fully test this. Instead I tested it by hand.
Diffstat (limited to 'regressions')
-rwxr-xr-xregressions/test-add-domain.sh23
-rwxr-xr-xregressions/test-guestfish-d.sh13
2 files changed, 30 insertions, 6 deletions
diff --git a/regressions/test-add-domain.sh b/regressions/test-add-domain.sh
index ea6d3883..7616c385 100755
--- a/regressions/test-add-domain.sh
+++ b/regressions/test-add-domain.sh
@@ -20,11 +20,11 @@
set -e
-rm -f test1.img test2.img test3.img test.xml test.out
+rm -f test1.img test2.img test3.img test4.img test.xml test.out
cwd="$(pwd)"
-truncate -s 1M test1.img test2.img test3.img
+truncate -s 1M test1.img test2.img test3.img test4.img
# Libvirt test XML, see libvirt.git/examples/xml/test/testnode.xml
cat > test.xml <<EOF
@@ -51,6 +51,12 @@ cat > test.xml <<EOF
<source file="$cwd/test3.img"/>
<target dev="hdc"/>
</disk>
+ <disk type="file">
+ <driver name="qemu" type="raw"/>
+ <source file="$cwd/test4.img"/>
+ <target dev="hdd"/>
+ <readonly/>
+ </disk>
</devices>
</domain>
</node>
@@ -65,6 +71,16 @@ grep -sq "test1.img.*snapshot=on" test.out
grep -sq "test2.img.*snapshot=on.*format=raw" test.out
grep -sq "test3.img.*snapshot=on.*format=qcow2" test.out
+# Test readonlydisk = "ignore".
+../fish/guestfish >test.out <<EOF
+ -domain guest libvirturi:test://$cwd/test.xml readonly:true readonlydisk:ignore
+ debug-drives
+EOF
+grep -sq "test1.img" test.out
+grep -sq "test2.img" test.out
+grep -sq "test3.img" test.out
+! grep -sq "test4.img" test.out
+
# Test atomicity.
rm test3.img
@@ -75,5 +91,6 @@ EOF
! grep -sq "test1.img" test.out
! grep -sq "test2.img" test.out
! grep -sq "test3.img" test.out
+! grep -sq "test4.img" test.out
-rm -f test1.img test2.img test3.img test.xml test.out
+rm -f test1.img test2.img test3.img test4.img test.xml test.out
diff --git a/regressions/test-guestfish-d.sh b/regressions/test-guestfish-d.sh
index b95f62da..ab039446 100755
--- a/regressions/test-guestfish-d.sh
+++ b/regressions/test-guestfish-d.sh
@@ -20,11 +20,11 @@
set -e
-rm -f test1.img test2.img test3.img test.xml test.out
+rm -f test1.img test2.img test3.img test4.img test.xml test.out
cwd="$(pwd)"
-truncate -s 1M test1.img test2.img test3.img
+truncate -s 1M test1.img test2.img test3.img test4.img
# Libvirt test XML, see libvirt.git/examples/xml/test/testnode.xml
cat > test.xml <<EOF
@@ -51,6 +51,12 @@ cat > test.xml <<EOF
<source file="$cwd/test3.img"/>
<target dev="hdc"/>
</disk>
+ <disk type="file">
+ <driver name="qemu" type="raw"/>
+ <source file="$cwd/test4.img"/>
+ <target dev="hdd"/>
+ <readonly/>
+ </disk>
</devices>
</domain>
</node>
@@ -62,5 +68,6 @@ grep -sq "test1.img.*snapshot=on" test.out
! grep -sq "test1.img.*format" test.out
grep -sq "test2.img.*snapshot=on.*format=raw" test.out
grep -sq "test3.img.*snapshot=on.*format=qcow2" test.out
+grep -sq "test4.img.*snapshot=on.*format=raw" test.out
-rm -f test1.img test2.img test3.img test.xml test.out
+rm -f test1.img test2.img test3.img test4.img test.xml test.out