Test guestfish -a and guestfish -d options.
authorRichard W.M. Jones <rjones@redhat.com>
Wed, 22 Sep 2010 13:10:58 +0000 (14:10 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Wed, 22 Sep 2010 13:39:01 +0000 (14:39 +0100)
Since these options were both broken in released version 1.5.17,
best to have a regression test to catch this in future.

regressions/Makefile.am
regressions/test-guestfish-a.sh [new file with mode: 0755]
regressions/test-guestfish-d.sh [new file with mode: 0755]

index 3a6fe4d..b7e2816 100644 (file)
@@ -36,6 +36,8 @@ TESTS = \
        test-cancellation-upload-daemoncancels.sh \
        test-copy.sh \
        test-find0.sh \
+       test-guestfish-a.sh \
+       test-guestfish-d.sh \
        test-luks.sh \
        test-lvm-filtering.sh \
        test-lvm-mapping.pl \
diff --git a/regressions/test-guestfish-a.sh b/regressions/test-guestfish-a.sh
new file mode 100755 (executable)
index 0000000..8e990ed
--- /dev/null
@@ -0,0 +1,28 @@
+#!/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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Test guestfish -a option.
+
+set -e
+
+rm -f test.img
+
+truncate -s 10M test.img
+guestfish -a test.img </dev/null
+
+rm -f test.img
diff --git a/regressions/test-guestfish-d.sh b/regressions/test-guestfish-d.sh
new file mode 100755 (executable)
index 0000000..b97ad3d
--- /dev/null
@@ -0,0 +1,52 @@
+#!/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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# Test guestfish -d option.
+
+set -e
+
+rm -f test.img test.xml test.out
+
+cwd="$(pwd)"
+
+truncate -s 10M test.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/test.img"/>
+        <target dev="hda"/>
+      </disk>
+    </devices>
+  </domain>
+</node>
+EOF
+
+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
+
+rm -f test.img test.xml test.out