diff options
Diffstat (limited to 'run-tests.sh')
| -rwxr-xr-x | run-tests.sh | 39 | 
1 files changed, 13 insertions, 26 deletions
diff --git a/run-tests.sh b/run-tests.sh index 042b3fa0e4b..d3c128a952c 100755 --- a/run-tests.sh +++ b/run-tests.sh @@ -118,12 +118,11 @@ function check_user()      fi  } -function run_tests() +function match()  { -    declare -A DONE -    match() -    {          # Patterns considered valid: +        # 0. Empty means everything +        #    ""           matches ** i.e all          # 1. full or partial file/directory names          #   basic         matches tests/basic          #   basic/afr     matches tests/basic/afr @@ -136,37 +135,25 @@ function run_tests()          #   1015990       matches /bugs/bug-1015990-rep.t, bug-1015990.t          # ...lots of other cases accepted as well, since globbing is tricky.          local t=$1 -        local mt=$1          shift          local a          local match=1 -        if [ -d $t ] ; then -            # Allow matching on globs like 'basic/*/' -            mt=$t/ +        if [ -z "$@" ]; then +            match=0 +            return $match          fi -        for a in "$@" ; do -            case "$mt" in -                *$a|*/bugs/$a/|*/bugs/$a.t|*/bugs/bug-$a.t|*/bugs/bug-$a-*.t) +        for a in $@ ; do +            case "$t" in +                *$a*)                      match=0                      ;;              esac          done -        if [ "${DONE[$(dirname $t)]}" != "" ] ; then -            # Parentdir is already matched -            match=1 -            if [ -d $t ] ; then -                # Ignore subdirectory as well -                DONE[$t]=$t -            fi -       elif [ $match -eq 0 -a -d $t ] ; then -            # Make sure children of this matched directory will be ignored -            DONE[$t]=$t -        elif [[ -f $t && ! $t =~ .*\.t ]] ; then -            # Ignore files not ending in .t -            match=1 -        fi          return $match -    } +} + +function run_tests() +{      RES=0      for t in $(find ${regression_testsdir}/tests | LC_COLLATE=C sort) ; do          if match $t "$tests" ; then  | 
