[PATCH] check: add support for an external test expunging file
Theodore Ts'o
tytso at mit.edu
Mon Apr 14 21:52:00 CDT 2014
Currently the -X option is intended to specify a set of expunging
files which are stored in each test/* subdirectory. As described in
the commit description for 0b1e8abd4, in order to exclude the test
generic/280, the -X option is used as follows:
$ cat tests/generic/3.0-stable-avoid
280
$ sudo ./check -X 3.0-stable-avoid generic/280
However, it is sometimes useful to store the set of expunged tests in
a single file, outside of tests/* subdirectories. This commit allows
the following:
$ cat /root/conf/data_journal.exclude
generic/068
ext4/301
$ sudo ./check -X /root/conf/data_journal.exclude -g auto
If the argument to the -X option is a pathname (that is, includes a
'/' character), treat it as the latter case. If it the argument to
the -X option is just a bare filename (that is, does not include '/'
character), treat it as the former.
Signed-off-by: "Theodore Ts'o" <tytso at mit.edu>
---
check | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 deletions(-)
diff --git a/check b/check
index e7ace63..791a386 100755
--- a/check
+++ b/check
@@ -215,12 +215,22 @@ while [ $# -gt 0 ]; do
;;
-X) xfile=$2; shift ;
- for d in $SRC_GROUPS $FSTYP; do
- [ -f $SRC_DIR/$d/$xfile ] || continue
- for f in `cat $SRC_DIR/$d/$xfile`; do
- echo $d/$f >> $tmp.xlist
+ case "$xfile" in
+ */*) if [ -f "$xfile" ]; then
+ cat "$xfile" >> $tmp.xlist
+ else
+ echo "Exclusion file $xfile not found"
+ exit 1
+ fi
+ ;;
+ *) for d in $SRC_GROUPS $FSTYP; do
+ [ -f $SRC_DIR/$d/$xfile ] || continue
+ for f in `cat $SRC_DIR/$d/$xfile`; do
+ echo $d/$f >> $tmp.xlist
+ done
done
- done
+ ;;
+ esac
;;
-s) RUN_SECTION="$RUN_SECTION $2"; shift ;;
-l) diff="diff" ;;
--
1.9.0
More information about the xfs
mailing list