Files
apfstests/tests/xfs/012
T
Darrick J. Wong 7e98d41a6e fstests: move test group info to test files
Refactor every test in the entire test suite to use the new boilerplate
functions.  This also migrates all the test group information into the
test files.  This patch has been autogenerated via the command:

./tools/convert-group btrfs ceph cifs ext4 f2fs generic nfs ocfs2 overlay perf shared udf xfs

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
2021-06-27 22:50:02 +08:00

98 lines
2.5 KiB
Bash
Executable File

#! /bin/bash
# SPDX-License-Identifier: GPL-2.0
# Copyright (c) 2000-2001 Silicon Graphics, Inc. All Rights Reserved.
#
# FS QA Test No. 012
#
# holes
#
. ./common/preamble
_begin_fstest rw auto quick
status=0 # success is the default!
# Override the default cleanup function.
_cleanup()
{
cd /
rm -f $tmp.*
rm -rf $TEST_DIR/holes.$$.*
}
_filesize()
{
ls -l $1 | $AWK_PROG '{print " filesize = " $5}'
}
# Import common functions.
. ./common/filter
_do_test()
{
_n="$1"
_param="$2"
_count="$3"
failed=0
out=$TEST_DIR/holes.$$.$_n
echo ""
echo "holes.$_n : $_param"
echo "-----------------------------------------------"
if ! $here/src/holes $_param $out >$tmp.out
then
echo " holes returned $? - see $seqres.full"
failed=1
status=1
fi
if [ $failed -eq 0 ]
then
# quick check - how many holes did we get?
count=`xfs_bmap $out | egrep -c ': hole'`
echo " $count hole(s) detected"
# and how big was the file?
_filesize $out
if [ $count -ne $_count ]
then
echo " unexpected number of holes - see $seqres.full"
status=1
failed=1
fi
fi
if [ $failed -eq 1 ]
then
echo "--------------------------------------" >>$seqres.full
echo "$_n - output from holes:" >>$seqres.full
echo "--------------------------------------" >>$seqres.full
cat $tmp.out >>$seqres.full
echo "--------------------------------------" >>$seqres.full
echo "$_n - output from bmap:" >>$seqres.full
echo "--------------------------------------" >>$seqres.full
xfs_bmap -vvv $out >>$seqres.full
echo "--------------------------------------" >>$seqres.full
echo "$_n - output from ls -li:" >>$seqres.full
echo "--------------------------------------" >>$seqres.full
ls -li $out >>$seqres.full
status=1
fi
}
# real QA test starts here
_supported_fs xfs
_require_test
# small & fairly dense
_do_test 1 "-l 40960000 -b 40960 -i 10 -c 1" 100
# big & sparse
_do_test 2 "-l 409600000 -b 40960 -i 1000 -c 1" 10
# no holes, but a very nasty way to write a file (lots of extents)
_do_test 3 "-l 40960000 -b 40960 -i 10 -c 10" 0
exit