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 <ler...@redhat.com> _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs