mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
xfstests: include test subdirectory support
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@redhat.com> Reviewed-by: Phil White <pwhite@sgi.com> Signed-off-by: Rich Johnston <rjohnston@sgi.com>
This commit is contained in:
committed by
Rich Johnston
parent
27c2198f1d
commit
971fe108bb
@@ -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
|
||||
dirs=". $GENERIC_GROUP_DIR"
|
||||
|
||||
grpl=$(sed -n < group \
|
||||
-e 's/#.*//' \
|
||||
-e 's/$/ /' \
|
||||
-e "/^[0-9][0-9][0-9].* $grp /"'{ s/ .*//p }')
|
||||
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
|
||||
|
||||
@@ -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
|
||||
#
|
||||
Reference in New Issue
Block a user