summaryrefslogtreecommitdiffstats
path: root/fish/test-add-domain.sh
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2011-12-22 11:35:43 +0000
committerRichard W.M. Jones <rjones@redhat.com>2011-12-22 13:04:41 +0000
commit498758faee6be7e989869bf7feba5e1026a1bb65 (patch)
tree2c8c599870039286414c7e20d138c91889ca9b05 /fish/test-add-domain.sh
parent5d93d70b4d36b2337104b3dbca07722fa4d47ff5 (diff)
downloadlibguestfs-498758faee6be7e989869bf7feba5e1026a1bb65.tar.gz
libguestfs-498758faee6be7e989869bf7feba5e1026a1bb65.tar.xz
libguestfs-498758faee6be7e989869bf7feba5e1026a1bb65.zip
tests: Split regressions -> various subdirectories of tests/
Diffstat (limited to 'fish/test-add-domain.sh')
-rwxr-xr-xfish/test-add-domain.sh96
1 files changed, 96 insertions, 0 deletions
diff --git a/fish/test-add-domain.sh b/fish/test-add-domain.sh
new file mode 100755
index 00000000..6154a758
--- /dev/null
+++ b/fish/test-add-domain.sh
@@ -0,0 +1,96 @@
+#!/bin/bash -
+# libguestfs
+# Copyright (C) 2010 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 add-domain command.
+
+set -e
+
+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 test4.img
+
+# Libvirt test XML, see libvirt.git/examples/xml/test/testnode.xml
+cat > test.xml <<EOF
+<node>
+ <domain type="test">
+ <name>guest</name>
+ <os>
+ <type>hvm</type>
+ <boot dev='hd'/>
+ </os>
+ <memory>524288</memory>
+ <devices>
+ <disk type="file">
+ <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>
+ <disk type="file">
+ <driver name="qemu" type="raw"/>
+ <source file="$cwd/test4.img"/>
+ <target dev="hdd"/>
+ <readonly/>
+ </disk>
+ </devices>
+ </domain>
+</node>
+EOF
+
+../fish/guestfish >test.out <<EOF
+ domain guest libvirturi:test://$cwd/test.xml readonly:true
+ debug-drives
+EOF
+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
+
+# 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
+
+../fish/guestfish >test.out <<EOF
+ -domain guest libvirturi:test://$cwd/test.xml readonly:true
+ 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
+
+rm -f test1.img test2.img test3.img test4.img test.xml test.out