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