mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
0be5cdd635
Test 250 actually runs now that it has golden output defined. The output the test produces doesn't match the golden output, however. The main reason seems to be a oversight in the test--the stderr output of mkfs wasn't being ignored as it should be (likely for debugging). Remove the comment character so the stderr does get ignored. Doing this still leaves some other output, but since it's filtered there's no reason to leave it out of the golden output. So add the expected result of filtering into the golden output file. Finally, this test--unlike almost all of the others--specifies the value of its "tmp" variable as a relative rather than absolute path. I'm sure that works in some places, but it produces errors for me. Follow the "tmp=/tmp/$$" convention used elsewhere. Signed-off-by: Alex Elder <aelder@sgi.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
98 lines
2.2 KiB
Bash
Executable File
98 lines
2.2 KiB
Bash
Executable File
#! /bin/bash
|
|
# FS QA Test No. 250
|
|
#
|
|
# Bmap btree corruption regression test
|
|
#
|
|
#-----------------------------------------------------------------------
|
|
# Copyright (c) 2011 Red Hat, Inc. All Rights Reserved.
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License as
|
|
# published by the Free Software Foundation.
|
|
#
|
|
# This program is distributed in the hope that it would be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write the Free Software Foundation,
|
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
#-----------------------------------------------------------------------
|
|
#
|
|
# creator
|
|
owner=dchinner@redhat.com
|
|
|
|
seq=`basename $0`
|
|
echo "QA output created by $seq"
|
|
|
|
here=`pwd`
|
|
tmp=/tmp/$$
|
|
status=1 # failure is the default!
|
|
trap "_cleanup; exit \$status" 0 1 2 3 15
|
|
|
|
_cleanup()
|
|
{
|
|
cd /
|
|
umount $LOOP_MNT 2>/dev/null
|
|
rm -f $LOOP_DEV
|
|
rmdir $LOOP_MNT
|
|
_cleanup_testdir
|
|
}
|
|
|
|
# get standard environment, filters and checks
|
|
. ./common.rc
|
|
. ./common.filter
|
|
|
|
# real QA test starts here
|
|
_supported_fs xfs
|
|
_supported_os Linux
|
|
_require_loop
|
|
|
|
LOOP_DEV=$TEST_DIR/$seq.fs
|
|
LOOP_MNT=$TEST_DIR/$seq.mnt
|
|
|
|
_filter_io()
|
|
{
|
|
sed -e '/.* ops; /d'
|
|
}
|
|
|
|
# real QA test starts here
|
|
|
|
echo "*** create loop mount point"
|
|
rmdir $LOOP_MNT 2>/dev/null
|
|
mkdir -p $LOOP_MNT || _fail "cannot create loopback mount point"
|
|
|
|
_test_loop()
|
|
{
|
|
size=$1
|
|
agsize=$2
|
|
fsize=$3
|
|
|
|
dparam="file,name=$LOOP_DEV,size=$size"
|
|
if [ -n "$agsize" ]; then
|
|
dparam="$dparam,agsize=$agsize"
|
|
fi
|
|
|
|
echo "*** mkfs loop file (size=$size)"
|
|
$MKFS_XFS_PROG -d $dparam \
|
|
| _filter_mkfs 2>/dev/null
|
|
|
|
echo "*** mount loop filesystem"
|
|
mount -t xfs -o loop $LOOP_DEV $LOOP_MNT
|
|
|
|
echo "*** preallocate large file"
|
|
xfs_io -f -c "resvsp 0 $fsize" $LOOP_MNT/foo | _filter_io
|
|
|
|
echo "*** unmount loop filesystem"
|
|
umount $LOOP_MNT
|
|
|
|
echo "*** check loop filesystem"
|
|
_check_xfs_filesystem $LOOP_DEV none none
|
|
}
|
|
|
|
_test_loop 50g 16m 40G
|
|
echo "*** done"
|
|
status=0
|
|
exit
|