Re: [RFC] [PATCH 0/18] xfstests: move tests out of top level

Mark Tinguely
2012-08-20T21:27:29Z

On 07/26/12 04:27, Dave Chinner wrote:
> Alt-Subject: Games with Sed, Grep and Awk.
>
> This series is based on top of the large filesystem test series.
>
> This moves all the tests into a ./tests subdirectory, and sorts them into
> classes of related tests. Those are:
>
> tests/generic: valid for all filesystems
> tests/shared: valid for a limited number of filesystems
> tests/xfs: xfs specific tests
> tests/btrfs btrfs specific tests
> tests/ext4 ext4 specific tests
> tests/udf udf specific tests

The SGI XFS group talked about your proposed changes to xfstests and the
response is very positive.

The couple concerns are:

1) There is a consensus in the group that the benchmark framework
should remain until there is a common benchmark available.

Could the benchmark infrastructure be placed into its own directory
until a new common benchmark framework has been adopted?

2) Could there be a single result directory rather than mirroring the
test hierarchy? A single directory can eventually become uniquely
identified and also be easier to upload to a result depository.

Lastly, there are a couple minor link issues:

1) In tests xfs/071, xfs/096 and generic/097 the links are missing the
$RESULT_DIR and the links are being made on the top directory. For
example in generic/097:

- rm -rf $seq.out
+ rm -rf $RESULT_DIR/$seq.out
if [ "$FSTYP" == "xfs" ]; then
- ln -s $seq.out.xfs $seq.out
+ ln -s $RESULT_DIR/$seq.out.xfs $RESULT_DIR/$seq.out
else
- ln -s -$seq.out.udf $seq.out
+ ln -s $RESULT_DIR/$seq.out.udf $RESULT_DIR/$seq.out
fi

2) In patch 18, the old link needs to be removed in _link_out_file()
routine to prevent "File exists" errors on subsequent runs of the
scripts.

_link_out_file()
{
- if [ -z "$1" ]; then
- echo Error must pass \$seq.
- exit
- fi
- rm -f $1
- if [ "`uname`" == "IRIX64" ] || [ "`uname`" == "IRIX" ]; then
- ln -s $1.irix $1
- elif [ "`uname`" == "Linux" ]; then
- ln -s $1.linux $1
- else
- echo Error test $seq does not run on the operating system: `uname`
- exit
- fi
+ if [ -z "$1" -o -z "$2" ]; then
+ echo Error must pass src and dst.
+ exit
+ fi
+ rm -f $1
^^^ should that be $2?

Thank-you,

--Mark.