On Mon, Oct 19, 2015 at 03:21:12PM +0200, Pino Toscano wrote:
Test case adapted from Hu Zhang's RHBZ#1242853, thanks.
---
tests/regressions/Makefile.am | 2 +
tests/regressions/rhbz1011907-1165785.sh | 66 ++++++++++++++++++++++++++++++++
2 files changed, 68 insertions(+)
create mode 100755 tests/regressions/rhbz1011907-1165785.sh
diff --git a/tests/regressions/Makefile.am b/tests/regressions/Makefile.am
index c4f60ae..026987b 100644
--- a/tests/regressions/Makefile.am
+++ b/tests/regressions/Makefile.am
@@ -37,6 +37,7 @@ EXTRA_DIST = \
rhbz957772.sh \
rhbz975797.sh \
rhbz1001875.sh \
+ rhbz1011907-1165785.sh \
rhbz1044014.sh \
rhbz1044014.in \
rhbz1044014.xml \
@@ -69,6 +70,7 @@ TESTS = \
rhbz1054761.sh \
rhbz1055452 \
rhbz1091803.sh \
+ rhbz1011907-1165785.sh \
rhbz1175196.sh \
rhbz1232192.sh \
test-big-heap \
diff --git a/tests/regressions/rhbz1011907-1165785.sh
b/tests/regressions/rhbz1011907-1165785.sh
new file mode 100755
index 0000000..f45ae3c
--- /dev/null
+++ b/tests/regressions/rhbz1011907-1165785.sh
@@ -0,0 +1,66 @@
+#!/bin/bash -
+# libguestfs
+# Copyright (C) 2015 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.
+
+# Regression test for:
+#
https://bugzilla.redhat.com/show_bug.cgi?id=1011907
+#
https://bugzilla.redhat.com/show_bug.cgi?id=1165785
+# i.e., mount-loop option, which means correct startup sequence and creation
+# of base devices (like /dev/loop-control for loopback setup)
+
+set -e
+export LANG=C
+
+if [ -n "$SKIP_TEST_RHBZ1011907_1165785_SH" ]; then
+ echo "$0: test skipped because environment variable is set."
+ exit 77
+fi
+
+rm -f rhbz1011907-1165785-loop.img rhbz1011907-1165785.img
+
+qemu-img create rhbz1011907-1165785-loop.img 100M
+qemu-img create rhbz1011907-1165785.img 300M
+
+guestfish -a rhbz1011907-1165785-loop.img <<EOF
+run
+part-disk /dev/sda mbr
+mkfs ext3 /dev/sda
+mount /dev/sda /
+touch /in-loop
+EOF
+
+output=$(
+guestfish -a rhbz1011907-1165785.img <<EOF
+run
+part-disk /dev/sda mbr
+mkfs ext3 /dev/sda1
+mount /dev/sda1 /
+upload rhbz1011907-1165785-loop.img /rhbz1011907-1165785-loop.img
+mkmountpoint /loop
+mount-loop /rhbz1011907-1165785-loop.img /loop/
+is-file /loop/in-loop
+EOF
+)
+
+if [ "$output" != \
+"true" ]; then
+ echo "$0: error: output of guestfish did not match expected output"
+ echo "$output"
+ exit 1
+fi
+
+rm rhbz1011907-1165785-loop.img rhbz1011907-1165785.img
ACK .. although it would be nicer if we could combine the two runs of
guestfish into one somehow. I assume that's not possible.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/