diff options
author | Thomas Rast <trast@inf.ethz.ch> | 2013-06-18 14:25:58 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-06-18 11:14:50 -0700 |
commit | e6a6ddc93a89862319c7876536d79d6d3538de5a (patch) | |
tree | c5e3d601d01e6490050beed701ab773cd9cc58a4 /t | |
parent | a57397b0d6709d75ab23145fd4fea5ce65dc1054 (diff) | |
download | git-e6a6ddc93a89862319c7876536d79d6d3538de5a.tar.gz |
test-lib: refactor $GIT_SKIP_TESTS matching
It's already used twice, and we will have more of the same kind of
matching in a minute.
Helped-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Thomas Rast <trast@inf.ethz.ch>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rw-r--r-- | t/test-lib.sh | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/t/test-lib.sh b/t/test-lib.sh index 229f5f7ff1..4c583b033d 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -328,6 +328,20 @@ test_debug () { test "$debug" = "" || eval "$1" } +match_pattern_list () { + arg="$1" + shift + test -z "$*" && return 1 + for pattern_ + do + case "$arg" in + $pattern_) + return 0 + esac + done + return 1 +} + test_eval_ () { # This is a separate function because some tests use # "return" to end a test_expect_success block early. @@ -358,14 +372,10 @@ test_run_ () { test_skip () { test_count=$(($test_count+1)) to_skip= - for skp in $GIT_SKIP_TESTS - do - case $this_test.$test_count in - $skp) - to_skip=t - break - esac - done + if match_pattern_list $this_test.$test_count $GIT_SKIP_TESTS + then + to_skip=t + fi if test -z "$to_skip" && test -n "$test_prereq" && ! test_have_prereq "$test_prereq" then @@ -630,15 +640,12 @@ cd -P "$TRASH_DIRECTORY" || exit 1 this_test=${0##*/} this_test=${this_test%%-*} -for skp in $GIT_SKIP_TESTS -do - case "$this_test" in - $skp) - say_color info >&3 "skipping test $this_test altogether" - skip_all="skip all tests in $this_test" - test_done - esac -done +if match_pattern_list "$this_test" $GIT_SKIP_TESTS +then + say_color info >&3 "skipping test $this_test altogether" + skip_all="skip all tests in $this_test" + test_done +fi # Provide an implementation of the 'yes' utility yes () { |