check: add support for an external file containing tests to exclude

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 enables
the following:

    $ cat /root/conf/data_journal.exclude
    generic/068
    ext4/301
    $ sudo ./check -E /root/conf/data_journal.exclude -g auto

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
This commit is contained in:
Theodore Ts'o
2014-05-13 09:04:13 +10:00
committed by Dave Chinner
parent ce0aa2bc5c
commit 9f3515572c
+6
View File
@@ -81,6 +81,7 @@ testlist options
-g group[,group...] include tests from these groups
-x group[,group...] exclude tests from these groups
-X file exclude individual tests
-E external_file exclude individual tests
[testlist] include tests matching names in testlist
'
exit 0
@@ -222,6 +223,11 @@ while [ $# -gt 0 ]; do
done
done
;;
-E) xfile=$2; shift ;
if [ -f $xfile ]; then
cat "$xfile" >> $tmp.xlist
fi
;;
-s) RUN_SECTION="$RUN_SECTION $2"; shift ;;
-l) diff="diff" ;;
-udiff) diff="$diff -u" ;;