Looks OK. Reviewed-by: Phil White <pwhite@xxxxxxx> On Fri, Mar 15, 2013 at 11:27:54PM +1100, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > Create a specific tests/ subdirectory to hold all the tests so they > are no longer need to be in the top level directory. This patch does > not move any tests there, however, and that will be done in > subsequent commits. > > The tests/ subdir will have it's own subdirectories for different > classes of tests. Initially, there will be a per-FSTYP subdirectory > for filesytsem specific tests, and a generic directory for tests > that span multiple filesystems. > > Each class will have it's own group file to indicate what groups the > tests belong to, and these will be parsed appropriately by the high > level check script to build the test list. > > The change in parsing results in the test output also emitting the > path to the test as well as the name of the test, instead of just a > raw number. This allows duplicate test names in the sudirecotries to > be unambiguous when the summary is written out. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> > --- > check | 43 ++++++++++++++++++++++++++++--------------- > tests/generic/group | 5 +++++ > 2 files changed, 33 insertions(+), 15 deletions(-) > create mode 100644 tests/generic/group > > diff --git a/check b/check > index b93316a..da2611a 100755 > --- a/check > +++ b/check > @@ -36,6 +36,8 @@ here=`pwd` > FSTYP=xfs > > SUPPORTED_TESTS="[0-9][0-9][0-9] [0-9][0-9][0-9][0-9]" > +TEST_GROUP_DIR="tests" > +GENERIC_GROUP_DIR="$TEST_GROUP_DIR/generic" > > # generic initialization > iam=check > @@ -84,11 +86,15 @@ _setenvironment() > get_group_list() > { > grp=$1 > - > - grpl=$(sed -n < group \ > - -e 's/#.*//' \ > - -e 's/$/ /' \ > - -e "/^[0-9][0-9][0-9].* $grp /"'{ s/ .*//p }') > + dirs=". $GENERIC_GROUP_DIR" > + > + for d in $dirs; do > + l=$(sed -n < $d/group \ > + -e 's/#.*//' \ > + -e 's/$/ /' \ > + -e "s;\(^[0-9][0-9][0-9]\).* $grp .*;$d/\1;p") > + grpl="$grpl $l" > + done > echo $grpl > } > > @@ -290,7 +296,7 @@ END { if (NR > 0) { > > echo "" >>check.log > date >>check.log > - echo $list | fmt | sed -e 's/^/ /' >>check.log > + echo $list | fmt | sed -e 's/^/ /' -e 's;tests/;;g' >>check.log > $interrupt && echo "Interrupted!" >>check.log > > if [ ! -z "$n_try" -a $n_try != 0 ] > @@ -368,7 +374,12 @@ _check_test_fs > for seq in $list > do > err=false > - echo -n "$seq" > + > + # the filename for the test and the name output are different. > + # we don't include the tests/ directory in the name output. > + seqnum=`echo $seq | sed -e 's;tests/;;'` > + > + echo -n "$seqnum" > > if $showme > then > @@ -381,7 +392,9 @@ do > # really going to try and run this one > # > rm -f $seq.out.bad > - lasttime=`sed -n -e "/^$seq /s/.* //p" <check.time` > + > + # slashes now in names, sed barfs on them so use grep > + lasttime=`grep -w ^$seq check.time | awk '// {print $2}'` > if [ "X$lasttime" != X ]; then > echo -n " ${lasttime}s ..." > else > @@ -392,7 +405,7 @@ do > start=`_wallclock` > $timestamp && echo -n " ["`date "+%T"`"]" > [ ! -x $seq ] && chmod u+x $seq # ensure we can run it > - $LOGGER_PROG "run xfstest $seq" > + $LOGGER_PROG "run xfstest $seqnum" > ./$seq >$tmp.rawout 2>&1 > sts=$? > $timestamp && _timestamp > @@ -411,9 +424,9 @@ do > if [ -f $seq.notrun ] > then > $timestamp || echo -n " [not run] " > - $timestamp && echo " [not run]" && echo -n " $seq -- " > + $timestamp && echo " [not run]" && echo -n " $seqnum -- " > cat $seq.notrun > - notrun="$notrun $seq" > + notrun="$notrun $seqnum" > else > if [ $sts -ne 0 ] > then > @@ -431,7 +444,7 @@ do > then > : > else > - echo "$seq `expr $stop - $start`" >>$tmp.time > + echo "$seqnum `expr $stop - $start`" >>$tmp.time > echo -n " `expr $stop - $start`s" > fi > echo "" > @@ -459,18 +472,18 @@ do > # > if $err > then > - bad="$bad $seq" > + bad="$bad $seqnum" > n_bad=`expr $n_bad + 1` > quick=false > fi > if [ ! -f $seq.notrun ] > then > - try="$try $seq" > + try="$try $seqnum" > n_try=`expr $n_try + 1` > _check_test_fs > fi > > - seq="after_$seq" > + seq="after_$seqnum" > done > > interrupt=false > diff --git a/tests/generic/group b/tests/generic/group > new file mode 100644 > index 0000000..4e01f0c > --- /dev/null > +++ b/tests/generic/group > @@ -0,0 +1,5 @@ > +# QA groups control file > +# Defines test groups and nominal group owners > +# - do not start group names with a digit > +# - comment line before each group is "new" description > +# > -- > 1.7.10.4 > > _______________________________________________ > xfs mailing list > xfs@xxxxxxxxxxx > http://oss.sgi.com/mailman/listinfo/xfs _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs