git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 01/16] t1007: factor out repeated setup

From
Jeff King <peff@peff.net>
Date
Sep 13, 2016, 03:23 UTC
Message-ID
<20160913032312.yheky2o25lmibvmb@sigill.intra.peff.net>
In-Reply-To
<20160913032242.coyuhyhn6uklewuk@sigill.intra.peff.net>

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 <peff@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
Previous: Jeff KingNext: Stefan Beller
Message 2 of 23 in “fix config-reading in non-repos”
  1. 0/16 fix config-reading in non-reposJeff King, Sep 13, 2016
  2. 01/16 t1007: factor out repeated setupJeff King, Sep 13, 2016
  3. Stefan BellerSep 13, 2016
  4. 02/16 hash-object: always try to set up the git repositoryJeff King, Sep 13, 2016
  5. 06/16 diff: always try to set up the repositoryJeff King, Sep 13, 2016
  6. Stefan BellerSep 13, 2016
  7. Jeff KingSep 13, 2016
  8. 04/16 diff: skip implicit no-index check when given --no-indexJeff King, Sep 13, 2016
  9. 07/16 pager: remove obsolete commentJeff King, Sep 13, 2016
  10. 03/16 patch-id: use RUN_SETUP_GENTLYJeff King, Sep 13, 2016
  11. 05/16 diff: handle --no-index prefixes consistentlyJeff King, Sep 13, 2016
  12. 08/16 pager: stop loading git_default_config()Jeff King, Sep 13, 2016
  13. 09/16 pager: make pager_program a file-local staticJeff King, Sep 13, 2016
  14. 10/16 pager: use callbacks instead of configsetJeff King, Sep 13, 2016
  15. 11/16 pager: handle early configJeff King, Sep 13, 2016
  16. 12/16 t1302: use "git -C"Jeff King, Sep 13, 2016
  17. 13/16 test-config: setup git directoryJeff King, Sep 13, 2016
  18. 14/16 config: only read .git/config from configured reposJeff King, Sep 13, 2016
  19. 15/16 init: expand comments explaining config trickeryJeff King, Sep 13, 2016
  20. 16/16 init: reset cached config when entering new repoJeff King, Sep 13, 2016
  21. Stefan BellerSep 13, 2016
  22. Dennis KaarsemakerSep 14, 2016
  23. Jeff KingSep 14, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.