Looks OK.
Reviewed-by: Phil White <pwhite@xxxxxxx>
On Fri, Mar 15, 2013 at 11:28:01PM +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
>
> Currently each test gets it's sequence number from it's name. It
> separates this from the path via basename, and uses it for
> outputting full, notrun an dother status/log files. Hence these end
> up in the top level directory.
>
> All these output files need to go somewhere other than the top level
> directory. Right now the check script is looking for them in the new
> test directories (e.g. for the notrun files), but it would be good
> to be able to separate the test source form the test output.
>
> Hence create an output directory which has a similar heirarchy to
> the test source directory. Create it on demand when we build the
> list of tests to run if it doesn't already exist.
>
> Change the high level check script to set up this variable
> appropriately for each test that is being run, and to use this new
> output directory for it's result files as well. The next commit will
> change all the tests themselves to use the new
>
> This is the first (small) step in being able to store test results
> in an external location for archival/data mining purposes
>
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> ---
> check | 38 +++++++++++++-------
> common.attr | 4 +--
> common.defrag | 4 +--
> common.dump | 86 ++++++++++++++++++++++-----------------------
> common.filestreams | 4 +--
> common.log | 36 +++++++++----------
> common.quota | 18 +++++-----
> common.rc | 98
> ++++++++++++++++++++++++++--------------------------
> common.scsi_debug | 2 +-
> 9 files changed, 152 insertions(+), 138 deletions(-)
>
> diff --git a/check b/check
> index d7426e5..af6d317 100755
> --- a/check
> +++ b/check
> @@ -36,8 +36,9 @@ here=`pwd`
> FSTYP=xfs
>
> SUPPORTED_TESTS="[0-9][0-9][0-9] [0-9][0-9][0-9][0-9]"
> -SRC_DIR="tests"
> SRC_GROUPS="generic shared"
> +export SRC_DIR="tests"
> +export RESULT_BASE=${RESULT_BASE:="results"}
>
> # generic initialization
> iam=check
> @@ -374,6 +375,12 @@ if [ ! -z "$SCRATCH_DEV" ]; then
> fi
> fi
>
> +mkdir -p $RESULT_BASE
> +if [ ! -d $RESULT_BASE ]; then
> + echo "failed to create results directory $RESULTS_BASE"
> + exit 1;
> +fi
> +
> seq="check"
> _check_test_fs
>
> @@ -385,6 +392,13 @@ do
> # we don't include the tests/ directory in the name output.
> seqnum=`echo $seq | sed -e "s;$SRC_DIR/;;"`
>
> + # Similarly, the result directory needs to replace the tests/
> + # part of the test location.
> + group=`dirname $seq`
> + export RESULT_DIR=`echo $group | sed -e "s;$SRC_DIR;$RESULT_BASE;"`
> + mkdir -p $RESULT_DIR
> + seqres="$RESULT_BASE/$seqnum"
> +
> echo -n "$seqnum"
>
> if $showme
> @@ -397,7 +411,7 @@ do
> else
> # really going to try and run this one
> #
> - rm -f $seq.out.bad
> + rm -f $seqres.out.bad
>
> # slashes now in names, sed barfs on them so use grep
> lasttime=`grep -w ^$seq check.time | awk '// {print $2}'`
> @@ -406,7 +420,7 @@ do
> else
> echo -n " " # prettier output with timestamps.
> fi
> - rm -f core $seq.notrun
> + rm -f core $seqres.notrun
>
> start=`_wallclock`
> $timestamp && echo -n " ["`date "+%T"`"]"
> @@ -423,15 +437,15 @@ do
> if [ -f core ]
> then
> echo -n " [dumped core]"
> - mv core $seq.core
> + mv core $RESULT_BASE/$seqnum.core
> err=true
> fi
>
> - if [ -f $seq.notrun ]
> + if [ -f $seqres.notrun ]
> then
> $timestamp || echo -n " [not run] "
> $timestamp && echo " [not run]" && echo -n " $seqnum -- "
> - cat $seq.notrun
> + cat $seqres.notrun
> notrun="$notrun $seqnum"
> else
> if [ $sts -ne 0 ]
> @@ -455,9 +469,9 @@ do
> fi
> echo ""
> else
> - echo " - output mismatch (see $seq.out.bad)"
> - mv $tmp.out $seq.out.bad
> - $diff $seq.out $seq.out.bad | {
> + echo " - output mismatch (see $seqres.out.bad)"
> + mv $tmp.out $seqres.out.bad
> + $diff $seq.out $seqres.out.bad | {
> if test "$DIFF_LENGTH" -le 0; then
> cat
> else
> @@ -465,7 +479,7 @@ do
> fi; } | \
> sed -e 's/^\(.\)/ \1/'
> echo " ..."
> - echo " (Run '$diff $seq.out $seq.out.bad' to see the" \
> + echo " (Run '$diff $seq.out $seqres.out.bad' to see
> the" \
> "entire diff)"
> err=true
> fi
> @@ -482,13 +496,13 @@ do
> n_bad=`expr $n_bad + 1`
> quick=false
> fi
> - if [ ! -f $seq.notrun ]
> + if [ ! -f $seqres.notrun ]
> then
> try="$try $seqnum"
> n_try=`expr $n_try + 1`
> _check_test_fs
> fi
> -
> +
> seq="after_$seqnum"
> done
>
> diff --git a/common.attr b/common.attr
> index 6e2c004..69bcb01 100644
> --- a/common.attr
> +++ b/common.attr
> @@ -129,7 +129,7 @@ _require_acls()
> #
> touch $TEST_DIR/syscalltest
> chacl -l $TEST_DIR/syscalltest > $TEST_DIR/syscalltest.out 2>&1
> - cat $TEST_DIR/syscalltest.out >> $here/$seq.full
> + cat $TEST_DIR/syscalltest.out >> $RESULT_DIR/$seq.full
>
> if grep -q 'Function not implemented' $TEST_DIR/syscalltest.out; then
> _notrun "kernel does not support ACLs"
> @@ -164,7 +164,7 @@ _require_attrs()
> #
> touch $TEST_DIR/syscalltest
> attr -s "user.xfstests" -V "attr" $TEST_DIR > $TEST_DIR/syscalltest.out
> 2>&1
> - cat $TEST_DIR/syscalltest.out >> $here/$seq.full
> + cat $TEST_DIR/syscalltest.out >> $RESULT_DIR/$seq.full
>
> if grep -q 'Function not implemented' $TEST_DIR/syscalltest.out; then
> _notrun "kernel does not support attrs"
> diff --git a/common.defrag b/common.defrag
> index 9c9eb9b..13405a4 100644
> --- a/common.defrag
> +++ b/common.defrag
> @@ -44,7 +44,7 @@ _require_defrag()
> _extent_count()
> {
> $FILEFRAG_PROG $1 | awk '{print $2}'
> - $FILEFRAG_PROG -v $1 >> $seq.full 2>&1
> + $FILEFRAG_PROG -v $1 >> $RESULT_DIR/$seq.full 2>&1
> }
>
> # Defrag file, check it, and remove it.
> @@ -54,7 +54,7 @@ _defrag()
> _extent_count $1
> CSUM_BEFORE=`md5sum $1`
> STAT_BEFORE=`stat -c "a: %x m: %y c: %z" $1`
> - $DEFRAG_PROG -v $1 >> $seq.full 2>&1
> + $DEFRAG_PROG -v $1 >> $RESULT_DIR/$seq.full 2>&1
> _scratch_remount
> STAT_AFTER=`stat -c "a: %x m: %y c: %z" $1`
> CSUM_AFTER=`md5sum $1`
> diff --git a/common.dump b/common.dump
> index be55249..0395ee3 100644
> --- a/common.dump
> +++ b/common.dump
> @@ -20,7 +20,7 @@
> #
>
> # --- initializations ---
> -rm -f $here/$seq.full
> +rm -f $RESULT_DIR/$seq.full
>
> if [ -n "$DEBUGDUMP" ]; then
> _dump_debug=-v4
> @@ -125,7 +125,7 @@ _check_onl()
> _limit=10
> i=0
> while [ $i -lt $_limit ]; do
> - echo "Checking online..." >>$here/$seq.full
> + echo "Checking online..." >>$RESULT_DIR/$seq.full
> if _mt status >$tmp.status 2>&1; then
> break;
> else
> @@ -159,12 +159,12 @@ _check_onl()
>
> _wait_tape()
> {
> - echo "Wait for tape, $dumptape, ..." >>$here/$seq.full
> + echo "Wait for tape, $dumptape, ..." >>$RESULT_DIR/$seq.full
>
> i=0
> while [ $i -lt 20 ]; do
> - echo "Checking status..." >>$here/$seq.full
> - if _mt status 2>&1 | tee -a $here/$seq.full | egrep -i "onl|ready"
> >/dev/null; then
> + echo "Checking status..." >>$RESULT_DIR/$seq.full
> + if _mt status 2>&1 | tee -a $RESULT_DIR/$seq.full | egrep -i
> "onl|ready" >/dev/null; then
> break;
> else
> sleep 1
> @@ -178,7 +178,7 @@ _wait_tape()
> #
> _rewind()
> {
> - echo "Initiate rewind..." >>$here/$seq.full
> + echo "Initiate rewind..." >>$RESULT_DIR/$seq.full
> _wait_tape
> _mt rewind >/dev/null
> _wait_tape
> @@ -191,7 +191,7 @@ _rewind()
> #
> _erase_soft()
> {
> - echo "Erasing tape" | tee -a $here/$seq.full
> + echo "Erasing tape" | tee -a $RESULT_DIR/$seq.full
> _rewind
> _mt weof 3
> _rewind
> @@ -199,7 +199,7 @@ _erase_soft()
>
> _erase_hard()
> {
> - echo "Erasing tape" | tee -a $here/$seq.full
> + echo "Erasing tape" | tee -a $RESULT_DIR/$seq.full
> _mt erase
> }
>
> @@ -230,7 +230,7 @@ _require_tape()
>
> if [ -z "$dumptape" -o "@" == "$dumptape" ]; then
> echo "This test requires a dump tape - none was specified"
> - echo "No dump tape specified" >$seq.notrun
> + echo "No dump tape specified" >$RESULT_DIR/$seq.notrun
> status=$NOTRUNSTS
> exit
> fi
> @@ -243,8 +243,8 @@ _wipe_fs()
> {
> _require_scratch
>
> - _scratch_mkfs_xfs >>$here/$seq.full || _fail "mkfs failed"
> - _scratch_mount >>$here/$seq.full || _fail "mount failed"
> + _scratch_mkfs_xfs >>$RESULT_DIR/$seq.full || _fail "mkfs failed"
> + _scratch_mount >>$RESULT_DIR/$seq.full || _fail "mount failed"
> }
>
> #
> @@ -266,8 +266,8 @@ _cleanup()
> # save it for inspection
> for dir in /var/xfsdump/inventory /var/lib/xfsdump/inventory; do
> [ -d $dir ] || continue
> - tar -cvf $seq.inventory.tar $dir
> - ls -nR $dir >$seq.inventory.ls
> + tar -cvf $RESULT_DIR/$seq.inventory.tar $dir
> + ls -nR $dir >$RESULT_DIR/$seq.inventory.ls
> done
> fi
>
> @@ -295,8 +295,8 @@ _cleanup()
> _stable_fs()
> {
> _saveddir=`pwd`; cd /
> - umount $SCRATCH_MNT >>$here/$seq.full || _fail "unmount failed"
> - _scratch_mount >>$here/$seq.full || _fail "mount failed"
> + umount $SCRATCH_MNT >>$RESULT_DIR/$seq.full || _fail "unmount failed"
> + _scratch_mount >>$RESULT_DIR/$seq.full || _fail "mount failed"
> cd $_saveddir
> }
>
> @@ -326,12 +326,12 @@ _create_dumpdir_stress()
> echo "-----------------------------------------------"
> if ! $here/ltp/fsstress $_param -s 1 $FSSTRESS_AVOID -n $_count -d
> $dump_dir >$tmp.out 2>&1
> then
> - echo " fsstress (count=$_count) returned $? - see $here/$seq.full"
> + echo " fsstress (count=$_count) returned $? - see
> $RESULT_DIR/$seq.full"
>
> - echo "--------------------------------------" >>$here/$seq.full
> - echo "output from fsstress:" >>$here/$seq.full
> - echo "--------------------------------------" >>$here/$seq.full
> - cat $tmp.out >>$here/$seq.full
> + echo "--------------------------------------"
> >>$RESULT_DIR/$seq.full
> + echo "output from fsstress:"
> >>$RESULT_DIR/$seq.full
> + echo "--------------------------------------"
> >>$RESULT_DIR/$seq.full
> + cat $tmp.out
> >>$RESULT_DIR/$seq.full
> status=1
> fi
>
> @@ -1043,7 +1043,7 @@ _do_dump_sub()
> echo "Dumping to tape..."
> opts="$_dump_debug$dump_args -s $dump_sdir -f $dumptape -M $media_label
> -L $session_label $SCRATCH_MNT"
> echo "xfsdump $opts" | _dir_filter
> - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
> #
> @@ -1056,7 +1056,7 @@ _do_dump()
> echo "Dumping to tape..."
> opts="$_dump_debug$dump_args -f $dumptape -M $media_label -L
> $session_label $SCRATCH_MNT"
> echo "xfsdump $opts" | _dir_filter
> - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
>
> @@ -1071,7 +1071,7 @@ _do_dump_min()
> onemeg=1048576
> opts="$_dump_debug$dump_args -m -b $onemeg -l0 -f $dumptape -M
> $media_label -L $session_label $SCRATCH_MNT"
> echo "xfsdump $opts" | _dir_filter
> - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
>
> @@ -1085,7 +1085,7 @@ _do_dump_file()
> echo "Dumping to file..."
> opts="$_dump_debug$dump_args -f $dump_file -M $media_label -L
> $session_label $SCRATCH_MNT"
> echo "xfsdump $opts" | _dir_filter
> - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
> #
> @@ -1107,7 +1107,7 @@ _do_dump_multi_file()
> echo "Dumping to files..."
> opts="$_dump_debug$dump_args $multi_args -L $session_label $SCRATCH_MNT"
> echo "xfsdump $opts" | _dir_filter
> - $XFSDUMP_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSDUMP_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
>
> @@ -1140,7 +1140,7 @@ _do_restore()
> echo "Restoring from tape..."
> opts="$_restore_debug$restore_args -f $dumptape -L $session_label
> $restore_dir"
> echo "xfsrestore $opts" | _dir_filter
> - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
> #
> @@ -1155,7 +1155,7 @@ _do_restore_min()
> onemeg=1048576
> opts="$_restore_debug$restore_args -m -b $onemeg -f $dumptape -L
> $session_label $restore_dir"
> echo "xfsrestore $opts" | _dir_filter
> - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
> #
> @@ -1169,7 +1169,7 @@ _do_restore_file()
> echo "Restoring from file..."
> opts="$_restore_debug$restore_args -f $dump_file -L $session_label
> $restore_dir"
> echo "xfsrestore $opts" | _dir_filter
> - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
> #
> @@ -1184,7 +1184,7 @@ _do_restore_file_cum()
> echo "Restoring cumumlative from file..."
> opts="$_restore_debug$restore_args -f $dump_file -r $restore_dir"
> echo "xfsrestore $opts" | _dir_filter
> - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
> _do_restore_toc()
> @@ -1195,7 +1195,7 @@ _do_restore_toc()
> opts="$_restore_debug$restore_args -f $dump_file -t"
> echo "xfsrestore $opts" | _dir_filter
> cd $SCRATCH_MNT # for IRIX which needs xfs cwd
> - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter_main
> |\
> + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full |
> _dump_filter_main |\
> _check_quota_file |\
> _check_quota_entries |\
> $AWK_PROG 'NF != 1 { print; next }
> @@ -1226,7 +1226,7 @@ _do_restore_multi_file()
> echo "Restoring from file..."
> opts="$_restore_debug$restore_args $multi_args -L $session_label
> $restore_dir"
> echo "xfsrestore $opts" | _dir_filter
> - $XFSRESTORE_PROG $opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSRESTORE_PROG $opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> }
>
> #
> @@ -1246,7 +1246,7 @@ _do_dump_restore()
> restore_opts="$_restore_debug$restore_args - $restore_dir"
> dump_opts="$_dump_debug$dump_args -s $dump_sdir - $SCRATCH_MNT"
> echo "xfsdump $dump_opts | xfsrestore $restore_opts" | _dir_filter
> - $XFSDUMP_PROG $dump_opts 2>$tmp.dump.mlog | $XFSRESTORE_PROG
> $restore_opts 2>&1 | tee -a $here/$seq.full | _dump_filter
> + $XFSDUMP_PROG $dump_opts 2>$tmp.dump.mlog | $XFSRESTORE_PROG
> $restore_opts 2>&1 | tee -a $RESULT_DIR/$seq.full | _dump_filter
> _dump_filter <$tmp.dump.mlog
> }
>
> @@ -1262,8 +1262,8 @@ _ls_compare_sub()
> # verify we got back what we dumped
> #
> echo "Comparing listing of dump directory with restore directory"
> - ls -nR $dump_dir | tee -a $here/$seq.full | _ls_filter >$tmp.dump_dir
> - ls -nR $restore_dir/$dump_sdir | tee -a $here/$seq.full | _ls_filter \
> + ls -nR $dump_dir | tee -a $RESULT_DIR/$seq.full | _ls_filter
> >$tmp.dump_dir
> + ls -nR $restore_dir/$dump_sdir | tee -a $RESULT_DIR/$seq.full |
> _ls_filter \
> | sed -e "s#$restore_sdir\/##" >$tmp.restore_dir
>
> diff -bcs $tmp.dump_dir $tmp.restore_dir | sed -e "s#$tmp#TMP#g"
> @@ -1285,8 +1285,8 @@ _ls_nodate_compare_sub()
> # verify we got back what we dumped
> #
> echo "Comparing listing of dump directory with restore directory"
> - ls -nR $dump_dir | tee -a $here/$seq.full | _ls_filter |
> _ls_nodate_filter >$tmp.dump_dir
> - ls -nR $restore_dir/$dump_sdir | tee -a $here/$seq.full | _ls_filter \
> + ls -nR $dump_dir | tee -a $RESULT_DIR/$seq.full | _ls_filter |
> _ls_nodate_filter >$tmp.dump_dir
> + ls -nR $restore_dir/$dump_sdir | tee -a $RESULT_DIR/$seq.full |
> _ls_filter \
> | _ls_nodate_filter | sed -e "s#$restore_sdir\/##" >$tmp.restore_dir
>
> diff -bcs $tmp.dump_dir $tmp.restore_dir | sed -e "s#$tmp#TMP#g"
> @@ -1359,13 +1359,13 @@ _diff_compare_eas()
> echo "Comparing dump directory with restore directory"
> echo "Looking at the extended attributes (EAs)"
> echo "EAs on dump"
> - _get_eas_on_path $dump_dir | tee $seq.ea1 | _dir_filter
> + _get_eas_on_path $dump_dir | tee $RESULT_DIR/$seq.ea1 | _dir_filter
> echo "EAs on restore"
> _get_eas_on_path $restore_dir/$dump_sdir \
> | sed -e "s#$restore_sdir\/##" \
> - | tee $seq.ea2 \
> + | tee $RESULT_DIR/$seq.ea2 \
> | _dir_filter
> - diff -s $seq.ea1 $seq.ea2
> + diff -s $RESULT_DIR/$seq.ea1 $RESULT_DIR/$seq.ea2
> }
>
>
> @@ -1384,7 +1384,7 @@ _diff_compare()
> #
> _dump_inventory()
> {
> - $XFSDUMP_PROG $_dump_debug -I | tee -a $here/$seq.full |
> _dump_filter_main
> + $XFSDUMP_PROG $_dump_debug -I | tee -a $RESULT_DIR/$seq.full |
> _dump_filter_main
> }
>
> #
> @@ -1394,9 +1394,9 @@ _dump_inventory()
> _do_invutil()
> {
> host=`hostname`
> - echo "xfsinvutil $_invutil_debug -M $host:$SCRATCH_MNT \"$middate\" $*"
> >$here/$seq.full
> + echo "xfsinvutil $_invutil_debug -M $host:$SCRATCH_MNT \"$middate\" $*"
> >$RESULT_DIR/$seq.full
> $XFSINVUTIL_PROG $_invutil_debug $* -M $host:$SCRATCH_MNT "$middate" \
> - | tee -a $here/$seq.full | _invutil_filter
> + | tee -a $RESULT_DIR/$seq.full | _invutil_filter
> }
>
> #
> @@ -1416,7 +1416,7 @@ _check_quota()
> $here/src/feature -P $SCRATCH_DEV && pquota=1
>
> $AWK_PROG -v uquota=$uquota -v gquota=$gquota -v pquota=$pquota \
> - -v full=$here/$seq.full -v usermsg="$usermsg" \
> + -v full=$RESULT_DIR/$seq.full -v usermsg="$usermsg" \
> -v groupmsg="$groupmsg" -v projectmsg="$projectmsg" '
> $0 ~ projectmsg {
> print "Found project quota:", $0 >>full
> diff --git a/common.filestreams b/common.filestreams
> index 08eaf90..b3aee27 100644
> --- a/common.filestreams
> +++ b/common.filestreams
> @@ -116,7 +116,7 @@ _check_for_dupes()
> for this_num_two in $num_str_two; do
> if [ "$this_num_one" == "$this_num_two" ]; then
> echo "duplicate AG $this_num_one found" \
> - >> $here/$seq.full
> + >> $RESULT_DIR/$seq.full
> return 1
> fi
> done
> @@ -189,7 +189,7 @@ _test_streams() {
> stream_index=1
> while [ $stream_index -le $stream_count ]; do
> this_stream_ags=`_get_stream_ags stream${stream_index}-dir`
> - echo "stream $stream_index AGs: $this_stream_ags" >>
> $here/$seq.full
> + echo "stream $stream_index AGs: $this_stream_ags" >>
> $RESULT_DIR/$seq.full
> _check_for_dupes "$ags_seen" "$this_stream_ags"
> if [ $? -ne 0 ]; then
> # this stream is not in seperate AGs to previous streams
> diff --git a/common.log b/common.log
> index 3958c48..e0e2bc6 100644
> --- a/common.log
> +++ b/common.log
> @@ -20,7 +20,7 @@
> # Created by dxm@xxxxxxx & tes@xxxxxxx
> #
>
> -fulldir=$seq.fulldir
> +fulldir=$RESULT_DIR/$seq.fulldir
> rm -rf $fulldir
>
> _cleanup_logfiles()
> @@ -33,16 +33,16 @@ _cleanup_logfiles()
>
> _full()
> {
> - echo "" >>$seq.full
> - echo "*** $* ***" >>$seq.full
> - echo "" >>$seq.full
> + echo "" >>$RESULT_DIR/$seq.full
> + echo "*** $* ***" >>$RESULT_DIR/$seq.full
> + echo "" >>$RESULT_DIR/$seq.full
> }
>
> _echofull()
> {
> - echo "" | tee -a $seq.full
> - echo "*** $* ***" | tee -a $seq.full
> - echo "" | tee -a $seq.full
> + echo "" | tee -a $RESULT_DIR/$seq.full
> + echo "*** $* ***" | tee -a $RESULT_DIR/$seq.full
> + echo "" | tee -a $RESULT_DIR/$seq.full
> }
>
> # Handle the operations which get split over Log Record
> @@ -212,13 +212,13 @@ _filter_logprint()
> _check_log()
> {
> _full "clean_log : xfs_logprint"
> - _scratch_xfs_logprint -t | tee -a $seq.full \
> + _scratch_xfs_logprint -t | tee -a $RESULT_DIR/$seq.full \
> | head | grep -q "<CLEAN>" || _fail "DIRTY LOG"
> }
>
> _print_logstate()
> {
> - _scratch_xfs_logprint -t | tee -a $seq.full >$tmp.logprint
> + _scratch_xfs_logprint -t | tee -a $RESULT_DIR/$seq.full >$tmp.logprint
> if grep -q "<DIRTY>" $tmp.logprint; then
> echo "dirty log"
> fi
> @@ -288,7 +288,7 @@ _mkfs_log()
> # mkfs options to append to log size otion can be specified ($*)
> export MKFS_OPTIONS="-l size=2000b -l lazy-count=1 $*"
> _full "mkfs"
> - _scratch_mkfs_xfs >>$seq.full 2>&1
> + _scratch_mkfs_xfs >>$RESULT_DIR/$seq.full 2>&1
> if [ $? -ne 0 ] ; then
> _echofull "Cannot mkfs for this test using option specified:
> $MKFS_OPTIONS"
> return 1
> @@ -305,7 +305,7 @@ _create_log()
> {
> # mount the FS
> _full "mount"
> - _scratch_mount >>$seq.full 2>&1
> + _scratch_mount >>$RESULT_DIR/$seq.full 2>&1
> if [ $? -ne 0 ] ; then
> _echofull "mount failed: $MOUNT_OPTIONS"
> return 1
> @@ -318,7 +318,7 @@ _create_log()
>
> # unmount the FS
> _full "umount"
> - umount $SCRATCH_DEV >>$seq.full 2>&1
> + umount $SCRATCH_DEV >>$RESULT_DIR/$seq.full 2>&1
> if [ $? -ne 0 ] ; then
> _echofull "umount failed"
> return 1
> @@ -334,7 +334,7 @@ _create_log_sync()
> {
> # mount the FS
> _full " mount"
> - _scratch_mount >>$seq.full 2>&1
> + _scratch_mount >>$RESULT_DIR/$seq.full 2>&1
> if [ $? -ne 0 ] ; then
> _echofull "mount failed: $MOUNT_OPTIONS"
> return 1
> @@ -349,7 +349,7 @@ _create_log_sync()
>
> # unmount the FS
> _full "umount"
> - umount $SCRATCH_DEV >>$seq.full 2>&1
> + umount $SCRATCH_DEV >>$RESULT_DIR/$seq.full 2>&1
> if [ $? -ne 0 ] ; then
> _echofull "umount failed"
> return 1
> @@ -448,21 +448,21 @@ _require_v2log()
> {
> # test out mkfs to see if it supports "-l version=2"
> export MKFS_OPTIONS="-l version=2"
> - if ! _scratch_mkfs_xfs >>$seq.full 2>&1; then
> + if ! _scratch_mkfs_xfs >>$RESULT_DIR/$seq.full 2>&1; then
> _notrun "mkfs does not support v2 logs"
> fi
>
> # test out mount to see if it mounts a v2 log fs
> export MOUNT_OPTIONS="-o logbsize=32k"
> - if ! _scratch_mount >>$seq.full 2>&1; then
> + if ! _scratch_mount >>$RESULT_DIR/$seq.full 2>&1; then
> _notrun "mount/kernel does not support v2 logs"
> fi
>
> # check after unmount to see if it is clean
> # i.e. it is not a 6.5.25 buggy version checking kernel
> touch $SCRATCH_MNT/file
> - umount $SCRATCH_DEV >>$seq.full 2>&1
> - if _scratch_xfs_logprint -t | tee -a $seq.full \
> + umount $SCRATCH_DEV >>$RESULT_DIR/$seq.full 2>&1
> + if _scratch_xfs_logprint -t | tee -a $RESULT_DIR/$seq.full \
> | head | grep -q "<DIRTY>"; then
> _notrun "kernel does not support v2 logs"
> fi
> diff --git a/common.quota b/common.quota
> index 2fa784b..ff80382 100644
> --- a/common.quota
> +++ b/common.quota
> @@ -96,8 +96,8 @@ _file_as_id()
>
> parent=`dirname $1`
> if [ $3 = p ]; then
> - echo PARENT: xfs_io -r -c "chproj $2" -c "chattr +P" $parent >>$seq.full
> - $XFS_IO_PROG -r -c "chproj $2" -c "chattr +P" $parent >>$seq.full 2>&1
> + echo PARENT: xfs_io -r -c "chproj $2" -c "chattr +P" $parent
> >>$RESULT_DIR/$seq.full
> + $XFS_IO_PROG -r -c "chproj $2" -c "chattr +P" $parent
> >>$RESULT_DIR/$seq.full 2>&1
> magik='$>' # (irrelevent, above set projid-inherit-on-parent)
> elif [ $3 = u ]; then
> magik='$>' # perlspeak for effective uid
> @@ -107,7 +107,7 @@ _file_as_id()
> _notrun "broken type in call to _file_as_id in test $seq"
> fi
>
> - perl <<EOF >>$seq.full 2>&1
> + perl <<EOF >>$RESULT_DIR/$seq.full 2>&1
> \$| = 1;
> $magik = $2;
> if ($5 == 0) {
> @@ -119,11 +119,11 @@ _file_as_id()
> }
> EOF
> # for debugging the above euid change, try... [need write in cwd]
> -# exec "dd if=/dev/zero of=$1 bs=$4 count=$5 >>$seq.full 2>&1";
> +# exec "dd if=/dev/zero of=$1 bs=$4 count=$5 >>$RESULT_DIR/$seq.full
> 2>&1";
>
> if [ $3 = p ]; then
> - echo PARENT: xfs_io -r -c "chproj 0" -c "chattr -P" $parent >>$seq.full
> - $XFS_IO_PROG -r -c "chproj 0" -c "chattr -P" $parent >>$seq.full 2>&1
> + echo PARENT: xfs_io -r -c "chproj 0" -c "chattr -P" $parent
> >>$RESULT_DIR/$seq.full
> + $XFS_IO_PROG -r -c "chproj 0" -c "chattr -P" $parent
> >>$RESULT_DIR/$seq.full 2>&1
> fi
> }
>
> @@ -198,8 +198,8 @@ _qsetup()
> _notrun "No quota support at mount time"
> fi
>
> - echo "Using output from '" `ls -l $seq.out` "'" >>$seq.full
> - echo "and using type=$type id=$id" >>$seq.full
> + echo "Using output from '" `ls -l $seq.out` "'" >>$RESULT_DIR/$seq.full
> + echo "and using type=$type id=$id" >>$RESULT_DIR/$seq.full
> }
>
> #
> @@ -229,7 +229,7 @@ _qmount_option()
>
> # Ensure we have the given quota option - duplicates are fine
> export MOUNT_OPTIONS="$MOUNT_OPTIONS -o $1"
> - echo "MOUNT_OPTIONS = $MOUNT_OPTIONS" >>$seq.full
> + echo "MOUNT_OPTIONS = $MOUNT_OPTIONS" >>$RESULT_DIR/$seq.full
> }
>
> _check_quota_usage()
> diff --git a/common.rc b/common.rc
> index 0babfed..ba275fc 100644
> --- a/common.rc
> +++ b/common.rc
> @@ -358,9 +358,9 @@ _scratch_mkfs_xfs()
>
> if [ $mkfs_status -ne 0 -a ! -z "$extra_mkfs_options" ]; then
> echo "** mkfs failed with extra mkfs options added to
> \"$MKFS_OPTIONS\" by test $seq **" \
> - >>$here/$seq.full
> + >>$RESULT_DIR/$seq.full
> echo "** attempting to mkfs using only test $seq options:
> $extra_mkfs_options **" \
> - >>$here/$seq.full
> + >>$RESULT_DIR/$seq.full
> # running mkfs again. overwrite previous mkfs output files
> $MKFS_XFS_PROG $SCRATCH_OPTIONS $extra_mkfs_options $SCRATCH_DEV \
> 2>$tmp_dir.mkfserr 1>$tmp_dir.mkfsstd
> @@ -796,7 +796,7 @@ _is_block_dev()
> fi
> }
>
> -# Do a command, log it to $seq.full, optionally test return status
> +# Do a command, log it to $RESULT_DIR/$seq.full, optionally test return
> status
> # and die if command fails. If called with one argument _do executes the
> # command, logs it, and returns its exit status. With two arguments _do
> # first prints the message passed in the first argument, and then "done"
> @@ -804,7 +804,7 @@ _is_block_dev()
> # second argument. If the command fails and the variable _do_die_on_error
> # is set to "always" or the two argument form is used and _do_die_on_error
> # is set to "message_only" _do will print an error message to
> -# $seq.out and exit.
> +# $RESULT_DIR/$seq.out and exit.
>
> _do()
> {
> @@ -819,9 +819,9 @@ _do()
> status=1; exit
> fi
>
> - (eval "echo '---' \"$_cmd\"") >>$here/$seq.full
> + (eval "echo '---' \"$_cmd\"") >>$RESULT_DIR/$seq.full
> (eval "$_cmd") >$tmp._out 2>&1; ret=$?
> - cat $tmp._out | _fix_malloc >>$here/$seq.full
> + cat $tmp._out | _fix_malloc >>$RESULT_DIR/$seq.full
> if [ $# -eq 2 ]; then
> if [ $ret -eq 0 ]; then
> echo "done"
> @@ -834,7 +834,7 @@ _do()
> -o \( $# -eq 2 -a "$_do_die_on_error" = "message_only" \) ]
> then
> [ $# -ne 2 ] && echo
> - eval "echo \"$_cmd\" failed \(returned $ret\): see $seq.full"
> + eval "echo \"$_cmd\" failed \(returned $ret\): see
> $RESULT_DIR/$seq.full"
> status=1; exit
> fi
>
> @@ -845,7 +845,7 @@ _do()
> #
> _notrun()
> {
> - echo "$*" >$seq.notrun
> + echo "$*" > $RESULT_DIR/$seq.notrun
> echo "$seq not run: $*"
> status=0
> exit
> @@ -855,8 +855,8 @@ _notrun()
> #
> _fail()
> {
> - echo "$*" | tee -a $here/$seq.full
> - echo "(see $seq.full for details)"
> + echo "$*" | tee -a $RESULT_DIR/$seq.full
> + echo "(see $RESULT_DIR/$seq.full for details)"
> status=1
> exit 1
> }
> @@ -1343,12 +1343,12 @@ _check_generic_filesystem()
> fsck -t $FSTYP $FSCK_OPTIONS $device >$tmp.fsck 2>&1
> if [ $? -ne 0 ]
> then
> - echo "_check_generic_filesystem: filesystem on $device is
> inconsistent (see $seq.full)"
> + echo "_check_generic_filesystem: filesystem on $device is
> inconsistent (see $RESULT_DIR/$seq.full)"
>
> - echo "_check_generic filesystem: filesystem on $device is
> inconsistent" >>$here/$seq.full
> - echo "*** fsck.$FSTYP output ***"
> >>$here/$seq.full
> - cat $tmp.fsck
> >>$here/$seq.full
> - echo "*** end fsck.$FSTYP output"
> >>$here/$seq.full
> + echo "_check_generic filesystem: filesystem on $device is
> inconsistent" >>$RESULT_DIR/$seq.full
> + echo "*** fsck.$FSTYP output ***" >>$RESULT_DIR/$seq.full
> + cat $tmp.fsck >>$RESULT_DIR/$seq.full
> + echo "*** end fsck.$FSTYP output" >>$RESULT_DIR/$seq.full
>
> ok=0
> fi
> @@ -1356,9 +1356,9 @@ _check_generic_filesystem()
>
> if [ $ok -eq 0 ]
> then
> - echo "*** mount output ***"
> >>$here/$seq.full
> - _mount
> >>$here/$seq.full
> - echo "*** end mount output"
> >>$here/$seq.full
> + echo "*** mount output ***" >>$RESULT_DIR/$seq.full
> + _mount >>$RESULT_DIR/$seq.full
> + echo "*** end mount output" >>$RESULT_DIR/$seq.full
> elif [ "$type" = "$FSTYP" ]
> then
> # was mounted ...
> @@ -1412,12 +1412,12 @@ _check_xfs_filesystem()
> | tee $tmp.logprint | grep -q "<CLEAN>"
> if [ $? -ne 0 -a "$HOSTOS" = "Linux" ]
> then
> - echo "_check_xfs_filesystem: filesystem on $device has dirty log
> (see $seq.full)"
> + echo "_check_xfs_filesystem: filesystem on $device has dirty log
> (see $RESULT_DIR/$seq.full)"
>
> - echo "_check_xfs_filesystem: filesystem on $device has dirty log"
> >>$here/$seq.full
> - echo "*** xfs_logprint -t output ***"
> >>$here/$seq.full
> - cat $tmp.logprint
> >>$here/$seq.full
> - echo "*** end xfs_logprint output"
> >>$here/$seq.full
> + echo "_check_xfs_filesystem: filesystem on $device has dirty log"
> >>$RESULT_DIR/$seq.full
> + echo "*** xfs_logprint -t output ***" >>$RESULT_DIR/$seq.full
> + cat $tmp.logprint >>$RESULT_DIR/$seq.full
> + echo "*** end xfs_logprint output" >>$RESULT_DIR/$seq.full
>
> ok=0
> fi
> @@ -1431,12 +1431,12 @@ _check_xfs_filesystem()
> fi
> if [ -s $tmp.fs_check ]
> then
> - echo "_check_xfs_filesystem: filesystem on $device is inconsistent
> (c) (see $seq.full)"
> + echo "_check_xfs_filesystem: filesystem on $device is inconsistent
> (c) (see $RESULT_DIR/$seq.full)"
>
> - echo "_check_xfs_filesystem: filesystem on $device is inconsistent"
> >>$here/$seq.full
> - echo "*** xfs_check output ***"
> >>$here/$seq.full
> - cat $tmp.fs_check
> >>$here/$seq.full
> - echo "*** end xfs_check output"
> >>$here/$seq.full
> + echo "_check_xfs_filesystem: filesystem on $device is inconsistent"
> >>$RESULT_DIR/$seq.full
> + echo "*** xfs_check output ***" >>$RESULT_DIR/$seq.full
> + cat $tmp.fs_check >>$RESULT_DIR/$seq.full
> + echo "*** end xfs_check output" >>$RESULT_DIR/$seq.full
>
> ok=0
> fi
> @@ -1444,12 +1444,12 @@ _check_xfs_filesystem()
> $XFS_REPAIR_PROG -n $extra_log_options $extra_rt_options $device
> >$tmp.repair 2>&1
> if [ $? -ne 0 ]
> then
> - echo "_check_xfs_filesystem: filesystem on $device is inconsistent
> (r) (see $seq.full)"
> + echo "_check_xfs_filesystem: filesystem on $device is inconsistent
> (r) (see $RESULT_DIR/$seq.full)"
>
> - echo "_check_xfs_filesystem: filesystem on $device is inconsistent"
> >>$here/$seq.full
> - echo "*** xfs_repair -n output ***"
> >>$here/$seq.full
> - cat $tmp.repair | _fix_malloc
> >>$here/$seq.full
> - echo "*** end xfs_repair output"
> >>$here/$seq.full
> + echo "_check_xfs_filesystem: filesystem on $device is inconsistent"
> >>$RESULT_DIR/$seq.full
> + echo "*** xfs_repair -n output ***" >>$RESULT_DIR/$seq.full
> + cat $tmp.repair | _fix_malloc >>$RESULT_DIR/$seq.full
> + echo "*** end xfs_repair output" >>$RESULT_DIR/$seq.full
>
> ok=0
> fi
> @@ -1457,9 +1457,9 @@ _check_xfs_filesystem()
>
> if [ $ok -eq 0 ]
> then
> - echo "*** mount output ***"
> >>$here/$seq.full
> - _mount
> >>$here/$seq.full
> - echo "*** end mount output"
> >>$here/$seq.full
> + echo "*** mount output ***" >>$RESULT_DIR/$seq.full
> + _mount >>$RESULT_DIR/$seq.full
> + echo "*** end mount output" >>$RESULT_DIR/$seq.full
> elif [ "$type" = "xfs" ]
> then
> _mount_or_remount_rw "$extra_mount_options" $device $mountpoint
> @@ -1507,12 +1507,12 @@ _check_udf_filesystem()
> OPT_ARG="-lastvalidblock $LAST_BLOCK"
> fi
>
> - rm -f $seq.checkfs
> + rm -f $RESULT_DIR/$seq.checkfs
> sleep 1 # Due to a problem with time stamps in udf_test
> - $here/src/udf_test $OPT_ARG $device | tee $here/$seq.checkfs | egrep
> "Error|Warning" | \
> + $here/src/udf_test $OPT_ARG $device | tee $RESULT_DIR/$seq.checkfs |
> egrep "Error|Warning" | \
> _udf_test_known_error_filter | \
> egrep -iv "Error count:.*[0-9]+.*total occurrences:.*[0-9]+|Warning
> count:.*[0-9]+.*total occurrences:.*[0-9]+" | \
> - sed "s/^.*$/Warning UDF Verifier reported errors see $seq.checkfs./g"
> + sed "s/^.*$/Warning UDF Verifier reported errors see
> $RESULT_DIR/$seq.checkfs./g"
>
> }
>
> @@ -1553,12 +1553,12 @@ _check_btrfs_filesystem()
> btrfsck $device >$tmp.fsck 2>&1
> if [ $? -ne 0 ]
> then
> - echo "_check_btrfs_filesystem: filesystem on $device is inconsistent
> (see $seq.full)"
> + echo "_check_btrfs_filesystem: filesystem on $device is inconsistent
> (see $RESULT_DIR/$seq.full)"
>
> - echo "_check_btrfs_filesystem: filesystem on $device is
> inconsistent" >>$here/$seq.full
> - echo "*** fsck.$FSTYP output ***"
> >>$here/$seq.full
> - cat $tmp.fsck
> >>$here/$seq.full
> - echo "*** end fsck.$FSTYP output"
> >>$here/$seq.full
> + echo "_check_btrfs_filesystem: filesystem on $device is
> inconsistent" >>$RESULT_DIR/$seq.full
> + echo "*** fsck.$FSTYP output ***" >>$RESULT_DIR/$seq.full
> + cat $tmp.fsck >>$RESULT_DIR/$seq.full
> + echo "*** end fsck.$FSTYP output" >>$RESULT_DIR/$seq.full
>
> ok=0
> fi
> @@ -1566,9 +1566,9 @@ _check_btrfs_filesystem()
>
> if [ $ok -eq 0 ]
> then
> - echo "*** mount output ***"
> >>$here/$seq.full
> - _mount
> >>$here/$seq.full
> - echo "*** end mount output"
> >>$here/$seq.full
> + echo "*** mount output ***" >>$RESULT_DIR/$seq.full
> + _mount >>$RESULT_DIR/$seq.full
> + echo "*** end mount output" >>$RESULT_DIR/$seq.full
> elif [ "$type" = "$FSTYP" ]
> then
> # was mounted ...
> @@ -2053,8 +2053,8 @@ _scale_fsstress_args()
>
> run_check()
> {
> - echo "# $@" >> $seq.full 2>&1
> - "$@" >> $seq.full 2>&1 || _fail "failed: '$@'"
> + echo "# $@" >> $RESULT_DIR/$seq.full 2>&1
> + "$@" >> $RESULT_DIR/$seq.full 2>&1 || _fail "failed: '$@'"
> }
>
>
> ################################################################################
> diff --git a/common.scsi_debug b/common.scsi_debug
> index a085a67..f05c8db 100644
> --- a/common.scsi_debug
> +++ b/common.scsi_debug
> @@ -47,7 +47,7 @@ _get_scsi_debug_dev()
> let phys_exp=phys_exp+1
> done
> opts="sector_size=$logical physblk_exp=$phys_exp
> lowest_aligned=$unaligned dev_size_mb=$size"
> - echo "scsi_debug options $opts" >> $seq.full
> + echo "scsi_debug options $opts" >> $RESULT_DIR/$seq.full
> modprobe scsi_debug $opts
> [ $? -eq 0 ] || _fail "scsi_debug modprobe failed"
> sleep 1
> --
> 1.7.10.4
>
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
|