Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
test-lib: refactor $GIT_SKIP_TESTS matching
author
Thomas Rast
<trast@inf.ethz.ch>
Tue, 18 Jun 2013 12:25:58 +0000
(14:25 +0200)
committer
Junio C Hamano
<gitster@pobox.com>
Tue, 18 Jun 2013 18:14:50 +0000
(11:14 -0700)
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>
t/test-lib.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
a57397b
)
diff --git
a/t/test-lib.sh
b/t/test-lib.sh
index 229f5f7ff1491ad5d98d9a35a6fe87fd77007296..4c583b033d7e60ce2c4d4a92f48fcf2af68b8003 100644
(file)
--- a/
t/test-lib.sh
+++ b/
t/test-lib.sh
@@
-328,6
+328,20
@@
test_debug () {
test "$debug" = "" || eval "$1"
}
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.
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=
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
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%%-*}
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 () {
# Provide an implementation of the 'yes' utility
yes () {