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

Richard W.M. Jones rjones at redhat.com
Tue Oct 20 13:34:03 UTC 2015


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/




More information about the Libguestfs mailing list