On Wed, Dec 04, 2019 at 04:46:12PM +0100, Thomas Huth wrote: > 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. > > Reviewed-by: Alex Bennée <alex.ben...@linaro.org> > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > 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 0cc8acc9ed..6f0582c79a 100644 > --- a/tests/qemu-iotests/common.rc > +++ b/tests/qemu-iotests/common.rc > @@ -643,5 +643,15 @@ _require_drivers() > 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 > -- > 2.18.1 >
This is a good refactor even without considering the CI environment issues it will help to address. Reviewed-by: Cleber Rosa <cr...@redhat.com> Tested-by: Cleber Rosa <cr...@redhat.com>