On Fri, Dec 9, 2016 at 7:40 AM, Dave Chinner <david@xxxxxxxxxxxxx> wrote: > On Thu, Dec 08, 2016 at 03:34:30PM +0200, Amir Goldstein wrote: >> The -x flag is used to exclude tests that belong to >> certain groups from the test args list. >> >> When the test args list is expressed as a match pattern, >> -x fails to exclude the tests that match the pattern >> and belong to excluded groups. >> >> For example: >> $ ./check -n -x xfs/??? | wc -l >> 341 >> $ ./check -n -x fuzzers,dangerous_fuzzers xfs/??? | wc -l >> 341 >> >> After the fix: >> $ ./check -n -x fuzzers,dangerous_fuzzers xfs/??? | wc -l >> 315 >> >> This bug seems to date back to this git repo epoc. >> >> Signed-off-by: Amir Goldstein <amir73il@xxxxxxxxx> >> --- >> check | 9 ++++++--- >> 1 file changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/check b/check >> index 8f2a1bb..9732460 100755 >> --- a/check >> +++ b/check >> @@ -158,11 +158,14 @@ _timestamp() >> _prepare_test_list() >> { >> unset list >> + touch $tmp.list >> # Tests specified on the command line >> if [ -s $tmp.arglist ]; then >> - cat $tmp.arglist > $tmp.list >> - else >> - touch $tmp.list >> + # flatten multi tests line (tests/$fs/???) to 1 test per line >> + list=$(cat $tmp.arglist) >> + for t in $list; do >> + echo "$t" >> $tmp.list >> + done > > Shouldn't the wildcard be evaluated when the CLI argument is being > processed and cheked against the group file contents, not hidden in > this code? i.e. in the CLI argument processing section starting > here: > > # Process tests from command line now. > if $have_test_arg; then > .... > Yes, you are right. The test: if egrep "^$test_name" $group_file >/dev/null ; then # in group file ... OK is lousy if $test_name is ??? I moved the expansion to the right place. -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html