From: Dave Chinner <david@fromorbit.com>
To: xfs@oss.sgi.com
Subject: [PATCH 10/18] xfstests: include test subdirectory support
Date: Thu, 26 Jul 2012 19:28:04 +1000 [thread overview]
Message-ID: <1343294892-20991-11-git-send-email-david@fromorbit.com> (raw)
In-Reply-To: <1343294892-20991-1-git-send-email-david@fromorbit.com>
From: Dave Chinner <dchinner@redhat.com>
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>
---
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 d6dccb5..bdf764a 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
@@ -78,11 +80,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
}
@@ -284,7 +290,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 ]
@@ -362,7 +368,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
@@ -375,7 +386,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
@@ -386,7 +399,7 @@ do
start=`_wallclock`
$timestamp && echo -n " ["`date "+%T"`"]"
[ ! -x $seq ] && chmod u+x $seq # ensure we can run it
- [ -x /usr/bin/logger ] && /usr/bin/logger "run xfstest $seq"
+ [ -x /usr/bin/logger ] && /usr/bin/logger "run xfstest $seqnum"
./$seq >$tmp.rawout 2>&1
sts=$?
$timestamp && _timestamp
@@ -405,9 +418,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
@@ -425,7 +438,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 ""
@@ -444,18 +457,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
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
next prev parent reply other threads:[~2012-07-26 9:28 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-26 9:27 [RFC] [PATCH 0/18] xfstests: move tests out of top level Dave Chinner
2012-07-26 9:27 ` [PATCH 01/18] xfstests: remove remake script Dave Chinner
2012-08-28 19:50 ` Christoph Hellwig
2012-07-26 9:27 ` [PATCH 02/18] xfstests: remove bench infrastructure Dave Chinner
2012-07-26 9:27 ` [PATCH 03/18] xfstests: kill useless test owner fields Dave Chinner
2012-08-28 19:51 ` Christoph Hellwig
2012-07-26 9:27 ` [PATCH 04/18] xfstests: remove stale machine configs Dave Chinner
2012-08-28 19:51 ` Christoph Hellwig
2012-07-26 9:27 ` [PATCH 05/18] xfstests: fold common into check Dave Chinner
2012-08-28 19:52 ` Christoph Hellwig
2012-07-26 9:28 ` [PATCH 06/18] xfstests: clean up and simply check CLI option parsing Dave Chinner
2012-08-28 19:52 ` Christoph Hellwig
2012-07-26 9:28 ` [PATCH 07/18] xfstests: kill hangcheck stuff from check Dave Chinner
2012-08-28 19:53 ` Christoph Hellwig
2012-07-26 9:28 ` [PATCH 08/18] xfstests: remove test expunge file support Dave Chinner
2012-08-28 19:54 ` Christoph Hellwig
2012-07-26 9:28 ` [PATCH 09/18] xfstests: remove undocumented TESTS_REMAINING_LOG Dave Chinner
2012-08-28 19:54 ` Christoph Hellwig
2012-07-26 9:28 ` Dave Chinner [this message]
2012-07-26 9:28 ` [PATCH 11/18] xfstests: move generic tests out of top level dir Dave Chinner
2012-07-26 9:28 ` [PATCH 12/18] xfstests: move xfs specific tests out of top directory Dave Chinner
2012-07-26 9:28 ` [PATCH 13/18] xfstests: move remaining tests out of top level directory Dave Chinner
2012-07-26 9:28 ` [PATCH 14/18] xfstests: rework CLI individual test specification Dave Chinner
2012-07-26 9:28 ` [PATCH 15/18] xfstests: make exclude groups aware of multiple subdirectories Dave Chinner
2012-07-26 9:28 ` [PATCH 16/18] xfstests: Introduce a results directory Dave Chinner
2012-07-26 9:28 ` [PATCH 17/18] xfstests: convert tests to use new " Dave Chinner
2012-09-05 12:00 ` Boris Ranto
2012-09-05 23:04 ` Dave Chinner
2012-09-06 12:34 ` Boris Ranto
2012-09-06 23:14 ` Dave Chinner
2012-09-07 12:47 ` Boris Ranto
2012-07-26 9:28 ` [PATCH 18/18] xfstests: fix _link_out_file callers Dave Chinner
2012-08-14 21:39 ` [RFC] [PATCH 0/18] xfstests: move tests out of top level Dave Chinner
2012-08-15 17:23 ` Mark Tinguely
2012-08-20 21:27 ` Mark Tinguely
2012-08-20 22:43 ` Dave Chinner
2012-08-21 16:33 ` Ben Myers
2012-08-21 22:09 ` Dave Chinner
2012-08-22 19:16 ` Ben Myers
2012-08-22 23:42 ` Dave Chinner
2012-08-23 17:00 ` Ben Myers
2012-08-24 4:07 ` Dave Chinner
2012-08-28 17:43 ` Ben Myers
2012-08-28 18:02 ` Christoph Hellwig
2013-02-25 15:50 ` Eric Sandeen
2013-02-25 21:52 ` Dave Chinner
2013-02-26 0:27 ` Theodore Ts'o
2013-02-26 3:18 ` Dave Chinner
2013-02-26 3:22 ` Ben Myers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1343294892-20991-11-git-send-email-david@fromorbit.com \
--to=david@fromorbit.com \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox