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>
This commit is contained in:
parent
a57397b0d6
commit
e6a6ddc93a
@ -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 () {
|
||||
|
Loading…
Reference in New Issue
Block a user