blob: 2856695606574feb211194d559040d30b1035f97 [file] [log] [blame]
#! /bin/bash
# FS QA Test No. 014
#
# truncfile
#
#-----------------------------------------------------------------------
# Copyright (c) 2000-2001 Silicon Graphics, 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
#
#-----------------------------------------------------------------------
#
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=0 # success is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15
_cleanup()
{
cd /
rm -f $tmp.*
rm -rf $TEST_DIR/truncfile.$$.*
}
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
_supported_fs generic
_supported_os Linux
_require_test
_require_sparse_files
# ensure EOF preallocation doesn't massively extend the runtime of this test
# by limiting the amount of preallocation and therefore the amount of blocks
# zeroed during the truncfile test run.
if [ "$FSTYP" == "xfs" ]; then
_test_unmount
_test_mount -o allocsize=64k
fi
echo "brevity is wit..."
echo "------"
echo "test 1"
echo "------"
src/truncfile -c 10000 $TEST_DIR/truncfile.$$.0 >$tmp.out 2>&1
ret=$?
if [ "$ret" -ne 0 ]; then
out=`cat $tmp.out`
echo "truncfile returned $ret : \"$out\""
else
echo "OK"
fi
exit