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

[PATCH v2 02/10] t1410: make hash size independent

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jun 16, 2019, 18:53 UTC
Message-ID
<20190616185330.549436-3-sandals@crustytoothpaste.net>
In-Reply-To
<20190616185330.549436-1-sandals@crustytoothpaste.net>

Instead of parsing object IDs using fixed-length shell patterns, use cut to extract the first two characters of an object ID in addition to the test helper for object paths. Update another test to look up an appropriate object ID fragment from the all-zeros object ID instead of hardcoding the value.

Although the test for parsing reflogs at BUFSIZ boundaries passes, mark it with the SHA1 prerequisite, as it doesn't currently usefully test anything when using a hash longer than 20 bytes.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 t/t1410-reflog.sh | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh
index 79f731db37..82950c0282 100755
--- a/t/t1410-reflog.sh
+++ b/t/t1410-reflog.sh
@@ -30,14 +30,13 @@ check_fsck () {
 }
 
 corrupt () {
-	aa=${1%??????????????????????????????????????} zz=${1#??}
-	mv .git/objects/$aa/$zz .git/$aa$zz
+	mv .git/objects/$(test_oid_to_path $1) .git/$1
 }
 
 recover () {
-	aa=${1%??????????????????????????????????????} zz=${1#??}
+	aa=$(echo $1 | cut -c 1-2)
 	mkdir -p .git/objects/$aa
-	mv .git/$aa$zz .git/objects/$aa/$zz
+	mv .git/$1 .git/objects/$(test_oid_to_path $1)
 }
 
 check_dont_have () {
@@ -55,6 +54,7 @@ check_dont_have () {
 }
 
 test_expect_success setup '
+	test_oid_init &&
 	mkdir -p A/B &&
 	echo rat >C &&
 	echo ox >A/D &&
@@ -313,12 +313,12 @@ test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' '
 # Each line is 114 characters, so we need 75 to still have a few before the
 # last 8K. The 89-character padding on the final entry lines up our
 # newline exactly.
-test_expect_success 'parsing reverse reflogs at BUFSIZ boundaries' '
+test_expect_success SHA1 'parsing reverse reflogs at BUFSIZ boundaries' '
 	git checkout -b reflogskip &&
-	z38=00000000000000000000000000000000000000 &&
+	zf=$(test_oid zero_2) &&
 	ident="abc <xyz> 0000000001 +0000" &&
 	for i in $(test_seq 1 75); do
-		printf "$z38%02d $z38%02d %s\t" $i $(($i+1)) "$ident" &&
+		printf "$zf%02d $zf%02d %s\t" $i $(($i+1)) "$ident" &&
 		if test $i = 75; then
 			for j in $(test_seq 1 89); do
 				printf X
@@ -329,7 +329,7 @@ test_expect_success 'parsing reverse reflogs at BUFSIZ boundaries' '
 		printf "\n"
 	done >.git/logs/refs/heads/reflogskip &&
 	git rev-parse reflogskip@{73} >actual &&
-	echo ${z38}03 >expect &&
+	echo ${zf}03 >expect &&
 	test_cmp expect actual
 '
 
Previous: brian m. carlsonNext: brian m. carlson
Message 12 of 20 in “Hash-independent tests, part 4”
  1. 00/10 Hash-independent tests, part 4brian m. carlson, Jun 16, 2019
  2. 01/10 t: add helper to convert object IDs to pathsbrian m. carlson, Jun 16, 2019
  3. Johannes SchindelinJun 17, 2019
  4. brian m. carlsonJun 18, 2019
  5. Johannes SixtJun 18, 2019
  6. Johannes SchindelinJun 18, 2019
  7. SZEDER GáborJun 18, 2019
  8. Johannes SchindelinJun 19, 2019
  9. Jeff KingJun 18, 2019
  10. Johannes SchindelinJun 19, 2019
  11. brian m. carlsonJun 18, 2019
  12. 02/10 t1410: make hash size independentbrian m. carlson, Jun 16, 2019
  13. 03/10 t1450: make hash size independentbrian m. carlson, Jun 16, 2019
  14. 04/10 t5000: make hash independentbrian m. carlson, Jun 16, 2019
  15. 06/10 t0027: make hash size independentbrian m. carlson, Jun 16, 2019
  16. 05/10 t6030: make test work with SHA-256brian m. carlson, Jun 16, 2019
  17. 07/10 t0090: make test pass with SHA-256brian m. carlson, Jun 16, 2019
  18. 08/10 t1007: remove SHA1 prerequisitesbrian m. carlson, Jun 16, 2019
  19. 09/10 t1710: make hash independentbrian m. carlson, Jun 16, 2019
  20. 10/10 t2203: avoid hard-coded object ID valuesbrian m. carlson, Jun 16, 2019

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.