t4018 (funcname patterns): make .gitattributes state easier to track
authorJonathan Nieder <jrnieder@gmail.com>
Sat, 21 May 2011 19:11:33 +0000 (14:11 -0500)
committerJunio C Hamano <gitster@pobox.com>
Sun, 22 May 2011 05:29:29 +0000 (22:29 -0700)
Most, but not all, tests in this script rely on attributes declaring
that files with a .java extension should use the "java" driver:

*.java diff=java

Split out a "set up" test to put such a .gitattributes in place after
the tests that do not want it have run, to make it more likely that
individual tests other than this setup test can be safely modified,
rearranged, or skipped. Presumably this setup code will learn to
request other drivers for other extensions in the same place when the
test suite learns to exercise other diff drivers.

Similarly, make sure that early test assertions that do not use these
default attributes set up .gitattributes appropriately for themselves,
so tests that run before can be modified with less risk of breaking
something.

Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t4018-diff-funcname.sh
index 364693062399228cd6a18b52a21db173519d8e94..24eb1a35d63bfe38aff06740f7f4b3131e06c227 100755 (executable)
@@ -36,11 +36,12 @@ builtin_patterns="bibtex cpp csharp fortran html java objc pascal perl php pytho
 for p in $builtin_patterns
 do
        test_expect_success "builtin $p pattern compiles" '
-               echo "*.java diff=$p" > .gitattributes &&
+               echo "*.java diff=$p" >.gitattributes &&
                ! { git diff --no-index Beer.java Beer-correct.java 2>&1 |
                        grep "fatal" > /dev/null; }
        '
        test_expect_success "builtin $p wordRegex pattern compiles" '
+               echo "*.java diff=$p" >.gitattributes &&
                ! { git diff --no-index --word-diff \
                        Beer.java Beer-correct.java 2>&1 |
                        grep "fatal" > /dev/null; }
@@ -53,8 +54,11 @@ test_expect_success 'default behaviour' '
        grep "^@@.*@@ public class Beer"
 '
 
+test_expect_success 'set up .gitattributes declaring drivers to test' '
+       echo "*.java diff=java" >.gitattributes
+'
+
 test_expect_success 'preset java pattern' '
-       echo "*.java diff=java" >.gitattributes &&
        git diff --no-index Beer.java Beer-correct.java |
        grep "^@@.*@@ public static void main("
 '