We have a series of 3 CRLF tests that do exactly the same
(long) setup sequence. Let's pull it out into a common setup
test, which is shorter, more efficient, and will make it
easier to add new tests.

Note that we don't have to worry about cleaning up any of
the setup which was previously per-test; we call pop_repo
after the CRLF tests, which cleans up everything.

Signed-off-by: Jeff King <p...@peff.net>
---
 t/t1007-hash-object.sh | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

diff --git a/t/t1007-hash-object.sh b/t/t1007-hash-object.sh
index 7d2baa1..c89faa6 100755
--- a/t/t1007-hash-object.sh
+++ b/t/t1007-hash-object.sh
@@ -101,7 +101,7 @@ test_expect_success 'git hash-object --stdin file1 <file0 
first operates on file
        test "$obname1" = "$obname1new"
 '
 
-test_expect_success 'check that appropriate filter is invoke when --path is 
used' '
+test_expect_success 'set up crlf tests' '
        echo fooQ | tr Q "\\015" >file0 &&
        cp file0 file1 &&
        echo "file0 -crlf" >.gitattributes &&
@@ -109,7 +109,10 @@ test_expect_success 'check that appropriate filter is 
invoke when --path is used
        git config core.autocrlf true &&
        file0_sha=$(git hash-object file0) &&
        file1_sha=$(git hash-object file1) &&
-       test "$file0_sha" != "$file1_sha" &&
+       test "$file0_sha" != "$file1_sha"
+'
+
+test_expect_success 'check that appropriate filter is invoke when --path is 
used' '
        path1_sha=$(git hash-object --path=file1 file0) &&
        path0_sha=$(git hash-object --path=file0 file1) &&
        test "$file0_sha" = "$path0_sha" &&
@@ -117,38 +120,19 @@ test_expect_success 'check that appropriate filter is 
invoke when --path is used
        path1_sha=$(cat file0 | git hash-object --path=file1 --stdin) &&
        path0_sha=$(cat file1 | git hash-object --path=file0 --stdin) &&
        test "$file0_sha" = "$path0_sha" &&
-       test "$file1_sha" = "$path1_sha" &&
-       git config --unset core.autocrlf
+       test "$file1_sha" = "$path1_sha"
 '
 
 test_expect_success 'check that --no-filters option works' '
-       echo fooQ | tr Q "\\015" >file0 &&
-       cp file0 file1 &&
-       echo "file0 -crlf" >.gitattributes &&
-       echo "file1 crlf" >>.gitattributes &&
-       git config core.autocrlf true &&
-       file0_sha=$(git hash-object file0) &&
-       file1_sha=$(git hash-object file1) &&
-       test "$file0_sha" != "$file1_sha" &&
        nofilters_file1=$(git hash-object --no-filters file1) &&
        test "$file0_sha" = "$nofilters_file1" &&
        nofilters_file1=$(cat file1 | git hash-object --stdin) &&
-       test "$file0_sha" = "$nofilters_file1" &&
-       git config --unset core.autocrlf
+       test "$file0_sha" = "$nofilters_file1"
 '
 
 test_expect_success 'check that --no-filters option works with --stdin-paths' '
-       echo fooQ | tr Q "\\015" >file0 &&
-       cp file0 file1 &&
-       echo "file0 -crlf" >.gitattributes &&
-       echo "file1 crlf" >>.gitattributes &&
-       git config core.autocrlf true &&
-       file0_sha=$(git hash-object file0) &&
-       file1_sha=$(git hash-object file1) &&
-       test "$file0_sha" != "$file1_sha" &&
        nofilters_file1=$(echo "file1" | git hash-object --stdin-paths 
--no-filters) &&
-       test "$file0_sha" = "$nofilters_file1" &&
-       git config --unset core.autocrlf
+       test "$file0_sha" = "$nofilters_file1"
 '
 
 pop_repo
-- 
2.10.0.230.g6f8d04b

Reply via email to