[Libguestfs] [PATCH] Add a regression test for RHBZ#1011907 / RHBZ#1165785

Pino Toscano ptoscano at redhat.com
Mon Oct 19 13:21:12 UTC 2015


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
-- 
2.1.0




More information about the Libguestfs mailing list