Files
apfstests/tests/xfs/018
T
Jan Kara 254360fd9a common: Improve _link_output_file to be more versatile
Currently _link_output_file() selects output file suffix based on the
current operating system. Make it more versatile by allowing selection
of output file suffix based on any feature string. The idea is that
in config file ($seq.cfg) there are several lines like:

feat1,feat2: suffix

The function is passed a feature string (or uses os_name,MOUNT_OPTIONS
if no argument is passed) and selects output file with a suffix for
which all features are present in the feature string. If there is no
matching line, output with 'default' suffix is selected.

Update all tests using _link_out_file to the new calling convention.

Signed-off-by: Jan Kara <jack@suse.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2015-12-21 17:08:22 +11:00

104 lines
2.4 KiB
Bash
Executable File

#! /bin/bash
# FS QA Test No. 018
#
# xfs_logprint test - test v2 logs of different LR sizes
#
#-----------------------------------------------------------------------
# Copyright (c) 2000-2002 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
#
#-----------------------------------------------------------------------
#
seqfull=$0
seq=`basename $0`
seqres=$RESULT_DIR/$seq
echo "QA output created by $seq"
here=`pwd`
tmp=/tmp/$$
status=1 # failure is the default!
# get standard environment, filters and checks
. ./common/rc
. ./common/filter
. ./common/log
_cleanup()
{
cd /
_cleanup_logfiles
rm -f $tmp.*
umount $SCRATCH_MNT 2>/dev/null
}
trap "_cleanup; exit \$status" 0 1 2 3 15
# real QA test starts here
_supported_fs xfs
_supported_os IRIX Linux
# prelim
rm -f $seqres.full $tmp.*
_require_scratch
_require_v2log
# link correct .out file
_link_out_file_named $seqfull.op $(_get_os_name)
echo "*** init FS"
umount $SCRATCH_DEV >/dev/null 2>&1
cat >$tmp.seq.params <<EOF
# mkfs-opt mount-opt
version=1 logbsize=32k
version=2 logbsize=32k
version=2 logbsize=64k
version=2 logbsize=128k
version=2 logbsize=256k
EOF
if [ "$HOSTOS" = "IRIX" ]; then
start_blk=0
else
start_blk=2
fi
# do the work for various log params which
# should not effect the data content of the log
cat $tmp.seq.params \
| while read mkfs mnt
do
if [ "$mkfs" = "#" ]; then
continue
fi
export MOUNT_OPTIONS="-o noalign,$mnt"
_mkfs_log "-l $mkfs"
_create_log
_check_log
_print_operation
_cmp_op_output $seqfull.op $filtered
_print_transaction_inode $start_blk
_cmp_output $seqfull.trans_inode $filtered
_print_transaction_buf $start_blk
_cmp_output $seqfull.trans_buf $filtered
done
# got thru it all so we may have success
status=0
exit