path: root/t/
diff options
authorJonathan Nieder <>2011-05-21 19:22:28 (GMT)
committerJunio C Hamano <>2011-05-22 05:29:30 (GMT)
commitf792a0b88ec24dd20c29282b4e022c7b48abd59b (patch)
tree0cc14788648d753889909f926559fd65d3af5d4d /t/
parent5b5e45949bb310fa8972f3e55b9cb05ce8047f37 (diff)
t4018 (funcname patterns): make configuration easier to track
Introduce a "test_config" function to set a configuration variable for use by a single test (automatically unsetting it when the assertion finishes). If this function is used consistently, the configuration used in a test_expect_success block can be read at the beginning of that block instead of requiring reading all the tests that come before. So it becomes a little easier to add new tests or rearrange existing ones without fear of breaking configuration. In particular, the test of alternation in xfuncname patterns also checks that xfuncname takes precedence over funcname variable as a sort of side-effect, since the latter leaks in from previous tests. In the new syntax, the test has to say explicitly what variables it is using, making the test clearer and a future regression in coverage from carelessly editing the script less likely. Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 't/')
1 files changed, 12 insertions, 7 deletions
diff --git a/t/ b/t/
index 24eb1a3..ce0a0e3 100755
--- a/t/
+++ b/t/
@@ -32,6 +32,11 @@ EOF
sed 's/beer\\/beer,\\/' < >
+test_config () {
+ git config "$1" "$2" &&
+ test_when_finished "git config --unset $1"
builtin_patterns="bibtex cpp csharp fortran html java objc pascal perl php python ruby tex"
for p in $builtin_patterns
@@ -63,29 +68,29 @@ test_expect_success 'preset java pattern' '
grep "^@@.*@@ public static void main("
-git config '!static
-[^ ].*s.*'
test_expect_success 'custom pattern' '
+ test_config "!static
+[^ ].*s.*" &&
git diff --no-index |
grep "^@@.*@@ int special;$"
test_expect_success 'last regexp must not be negated' '
- git config "!static" &&
+ test_config "!static" &&
git diff --no-index 2>&1 |
grep "fatal: Last expression must not be negated:"
test_expect_success 'pattern which matches to end of line' '
- git config "Beer$" &&
+ test_config "Beer$" &&
git diff --no-index |
grep "^@@.*@@ Beer"
test_expect_success 'alternation in pattern' '
- git config "^[ ]*((public|static).*)$" &&
+ test_config "Beer$" &&
+ test_config "^[ ]*((public|static).*)$" &&
git diff --no-index |
grep "^@@.*@@ public static void main("