Thomas Huth <th...@redhat.com> writes:
> Some tests create huge (but sparse) files, and to be able to run those > tests in certain limited environments (like CI containers), we have to > check for the possibility to create such files first. Thus let's introduce > a common function to check for large files, and replace the already > existing checks in the iotests 005 and 220 with this function. > > Signed-off-by: Thomas Huth <th...@redhat.com> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > --- > tests/qemu-iotests/005 | 5 +---- > tests/qemu-iotests/220 | 6 ++---- > tests/qemu-iotests/common.rc | 10 ++++++++++ > 3 files changed, 13 insertions(+), 8 deletions(-) > > diff --git a/tests/qemu-iotests/005 b/tests/qemu-iotests/005 > index 58442762fe..b6d03ac37d 100755 > --- a/tests/qemu-iotests/005 > +++ b/tests/qemu-iotests/005 > @@ -59,10 +59,7 @@ fi > # Sanity check: For raw, we require a file system that permits the creation > # of a HUGE (but very sparse) file. Check we can create it before continuing. > if [ "$IMGFMT" = "raw" ]; then > - if ! truncate --size=5T "$TEST_IMG"; then > - _notrun "file system on $TEST_DIR does not support large enough > files" > - fi > - rm "$TEST_IMG" > + _require_large_file 5T > fi > > echo > diff --git a/tests/qemu-iotests/220 b/tests/qemu-iotests/220 > index 2d62c5dcac..15159270d3 100755 > --- a/tests/qemu-iotests/220 > +++ b/tests/qemu-iotests/220 > @@ -42,10 +42,8 @@ echo "== Creating huge file ==" > > # Sanity check: We require a file system that permits the creation > # of a HUGE (but very sparse) file. tmpfs works, ext4 does not. > -if ! truncate --size=513T "$TEST_IMG"; then > - _notrun "file system on $TEST_DIR does not support large enough files" > -fi > -rm "$TEST_IMG" > +_require_large_file 513T > + > IMGOPTS='cluster_size=2M,refcount_bits=1' _make_test_img 513T > > echo "== Populating refcounts ==" > diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc > index 38e949cf69..91c0217e59 100644 > --- a/tests/qemu-iotests/common.rc > +++ b/tests/qemu-iotests/common.rc > @@ -657,5 +657,15 @@ _require_devices() > done > } > > +# Check that we have a file system that allows huge (but very sparse) files > +# > +_require_large_file() > +{ > + if ! truncate --size="$1" "$TEST_IMG"; then > + _notrun "file system on $TEST_DIR does not support large enough > files" > + fi > + rm "$TEST_IMG" > +} > + > # make sure this script returns success > true -- Alex Bennée