Richard W.M. Jones
2023-Apr-13 14:32 UTC
[Libguestfs] [PATCH nbdkit] tests: Add a test of floppy plugin + size parameter
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 -- 2.39.2
Eric Blake
2023-Apr-13 15:12 UTC
[Libguestfs] [PATCH nbdkit] tests: Add a test of floppy plugin + size parameter
On Thu, Apr 13, 2023 at 03:32:29PM +0100, 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(-) >Reviewed-by: Eric Blake <eblake at redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Laszlo Ersek
2023-Apr-13 16:05 UTC
[Libguestfs] [PATCH nbdkit] tests: Add a test of floppy plugin + size parameter
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 > +EOFNice 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>