[Libguestfs] [PATCH nbdkit] tests: Add a test of floppy plugin + size parameter

Laszlo Ersek lersek at redhat.com
Thu Apr 13 16:05:56 UTC 2023


On 4/13/23 16:32, Richard W.M. Jones wrote:
> See: https://listman.redhat.com/archives/libguestfs/2023-April/031243.html
> Updates: commit c6d6113fa1f38389dbc27f000d06c425cbe912cd
> ---
>  tests/Makefile.am         | 10 +++++--
>  tests/test-floppy-size.sh | 61 +++++++++++++++++++++++++++++++++++++++
>  2 files changed, 69 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 9b846d246..a080765f2 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -818,8 +818,14 @@ test_file_block_CFLAGS = $(WARNINGS_CFLAGS) $(LIBGUESTFS_CFLAGS)
>  test_file_block_LDADD = libtest.la $(LIBGUESTFS_LIBS)
>  
>  # floppy plugin test.
> -TESTS += test-floppy.sh
> -EXTRA_DIST += test-floppy.sh
> +TESTS += \
> +	test-floppy.sh \
> +	test-floppy-size.sh \
> +	$(NULL)
> +EXTRA_DIST += \
> +	test-floppy.sh \
> +	test-floppy-size.sh \
> +	$(NULL)
>  
>  # full plugin test.
>  TESTS += test-full.sh
> diff --git a/tests/test-floppy-size.sh b/tests/test-floppy-size.sh
> new file mode 100755
> index 000000000..f59c0edfa
> --- /dev/null
> +++ b/tests/test-floppy-size.sh
> @@ -0,0 +1,61 @@
> +#!/usr/bin/env bash
> +# nbdkit
> +# Copyright Red Hat
> +#
> +# Redistribution and use in source and binary forms, with or without
> +# modification, are permitted provided that the following conditions are
> +# met:
> +#
> +# * Redistributions of source code must retain the above copyright
> +# notice, this list of conditions and the following disclaimer.
> +#
> +# * Redistributions in binary form must reproduce the above copyright
> +# notice, this list of conditions and the following disclaimer in the
> +# documentation and/or other materials provided with the distribution.
> +#
> +# * Neither the name of Red Hat nor the names of its contributors may be
> +# used to endorse or promote products derived from this software without
> +# specific prior written permission.
> +#
> +# THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS ''AS IS'' AND
> +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
> +# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> +# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
> +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
> +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> +# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> +# SUCH DAMAGE.
> +
> +# Test the floppy / FAT32 plugin with the size= parameter.
> +
> +source ./functions.sh
> +set -e
> +
> +requires_plugin floppy
> +requires guestfish --version
> +
> +sock=$(mktemp -u /tmp/nbdkit-test-sock.XXXXXX)
> +files="floppy-size.pid $sock"
> +rm -f $files
> +cleanup_fn rm -f $files
> +
> +# When testing this we need to use a directory which won't change
> +# during the test (so not the current directory).
> +start_nbdkit -P floppy-size.pid -U $sock \
> +             --filter=cow \
> +             floppy $srcdir/../plugins/floppy size=2G
> +
> +# Check the floppy content.
> +guestfish --rw --format=raw -a "nbd://?socket=$sock" -m /dev/sda1 <<'EOF'
> +  ll /floppy.c
> +  ll /nbdkit-floppy-plugin.pod
> +
> +# Because of size= parameter there should be enough free space
> +# to write a large file.
> +  df-h
> +  fill-pattern hello 100M /fill
> +EOF

Nice test! I figure you simply recall the nbdkit "cow" filter, and the
"fill-pattern" guestfs API, without having to look for them :)

Reviewed-by: Laszlo Ersek <lersek at redhat.com>



More information about the Libguestfs mailing list