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

[PATCH v3 06/21] t3311: make test work with SHA-256

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Feb 7, 2020, 00:52 UTC
Message-ID
<20200207005254.1495851-7-sandals@crustytoothpaste.net>
In-Reply-To
<20200207005254.1495851-1-sandals@crustytoothpaste.net>

Replace the hard-coded SHA-1 constants with the use of test_oid to look up an appropriate constant for each hash algorithm. In addition, adjust the fanout checks to look for either zero or one slashes in the filename without needing to check for an explicit length.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 t/t3311-notes-merge-fanout.sh | 60 ++++++++++++++++++++---------------
 1 file changed, 35 insertions(+), 25 deletions(-)
diff --git a/t/t3311-notes-merge-fanout.sh b/t/t3311-notes-merge-fanout.sh
index 37151a3adc..5b675417e9 100755
--- a/t/t3311-notes-merge-fanout.sh
+++ b/t/t3311-notes-merge-fanout.sh
@@ -29,15 +29,10 @@ verify_fanout () {
 	git ls-tree -r --name-only "refs/notes/$notes_ref" |
 	while read path
 	do
-		case "$path" in
-		??/??????????????????????????????????????)
-			: true
-			;;
-		*)
+		echo "$path" | grep "^../[0-9a-f]*$" || {
 			echo "Invalid path \"$path\"" &&
-			return 1
-			;;
-		esac
+			return 1;
+		}
 	done
 }
 
@@ -48,15 +43,10 @@ verify_no_fanout () {
 	git ls-tree -r --name-only "refs/notes/$notes_ref" |
 	while read path
 	do
-		case "$path" in
-		????????????????????????????????????????)
-			: true
-			;;
-		*)
+		echo "$path" | grep -v "^../.*" || {
 			echo "Invalid path \"$path\"" &&
-			return 1
-			;;
-		esac
+			return 1;
+		}
 	done
 }
 
@@ -67,7 +57,27 @@ test_expect_success 'setup a few initial commits with notes (notes ref: x)' '
 	do
 		test_commit "commit$i" >/dev/null &&
 		git notes add -m "notes for commit$i" || return 1
-	done
+	done &&
+
+	git log --format=oneline &&
+
+	test_oid_cache <<-EOF
+	hash05a sha1:aed91155c7a72c2188e781fdf40e0f3761b299db
+	hash04a sha1:99fab268f9d7ee7b011e091a436c78def8eeee69
+	hash03a sha1:953c20ae26c7aa0b428c20693fe38bc687f9d1a9
+	hash02a sha1:6358796131b8916eaa2dde6902642942a1cb37e1
+	hash01a sha1:b02d459c32f0e68f2fe0981033bb34f38776ba47
+	hash03b sha1:9f506ee70e20379d7f78204c77b334f43d77410d
+	hash02b sha1:23a47d6ea7d589895faf800752054818e1e7627b
+
+	hash05a sha256:3aae5d26619d96dba93795f66325716e4cbc486884f95a6adee8fb0615a76d12
+	hash04a sha256:07e43dd3d89fe634d3252e253b426aacc7285a995dcdbcf94ac284060a1122cf
+	hash03a sha256:26fb52eaa7f4866bf735254587be7b31209ec10e525912ffd8e8ba549ba892ff
+	hash02a sha256:b57ebdf23634e750dcbc4b9a37991d70f90830d568a0e4529ce9de0a3f8d605c
+	hash01a sha256:377903b1572bd5117087a5518fcb1011b5053cccbc59e3c7c823a8615204173b
+	hash03b sha256:04e7b392fda7c185bfa17c9179b56db732edc2dc2b3bf887308dcaabb717270d
+	hash02b sha256:66099aaaec49a485ed990acadd9a9b81232ea592079964113d8f581ff69ef50b
+	EOF
 '
 
 commit_sha1=$(git rev-parse commit1^{commit})
@@ -77,11 +87,11 @@ commit_sha4=$(git rev-parse commit4^{commit})
 commit_sha5=$(git rev-parse commit5^{commit})
 
 cat <<EOF | sort >expect_notes_x
-aed91155c7a72c2188e781fdf40e0f3761b299db $commit_sha5
-99fab268f9d7ee7b011e091a436c78def8eeee69 $commit_sha4
-953c20ae26c7aa0b428c20693fe38bc687f9d1a9 $commit_sha3
-6358796131b8916eaa2dde6902642942a1cb37e1 $commit_sha2
-b02d459c32f0e68f2fe0981033bb34f38776ba47 $commit_sha1
+$(test_oid hash05a) $commit_sha5
+$(test_oid hash04a) $commit_sha4
+$(test_oid hash03a) $commit_sha3
+$(test_oid hash02a) $commit_sha2
+$(test_oid hash01a) $commit_sha1
 EOF
 
 cat >expect_log_x <<EOF
@@ -145,9 +155,9 @@ test_expect_success 'Fast-forward merge (y => x)' '
 '
 
 cat <<EOF | sort >expect_notes_z
-9f506ee70e20379d7f78204c77b334f43d77410d $commit_sha3
-23a47d6ea7d589895faf800752054818e1e7627b $commit_sha2
-b02d459c32f0e68f2fe0981033bb34f38776ba47 $commit_sha1
+$(test_oid hash03b) $commit_sha3
+$(test_oid hash02b) $commit_sha2
+$(test_oid hash01a) $commit_sha1
 EOF
 
 cat >expect_log_z <<EOF
Previous: brian m. carlsonNext: brian m. carlson
Message 7 of 22 in “SHA-256 test fixes, part 8”
  1. 00/21 SHA-256 test fixes, part 8brian m. carlson, Feb 7, 2020
  2. 01/21 t/lib-pack: support SHA-256brian m. carlson, Feb 7, 2020
  3. 02/21 t3206: make hash size independentbrian m. carlson, Feb 7, 2020
  4. 03/21 t3308: make test work with SHA-256brian m. carlson, Feb 7, 2020
  5. 07/21 t4013: make test hash independentbrian m. carlson, Feb 7, 2020
  6. 04/21 t3309: make test work with SHA-256brian m. carlson, Feb 7, 2020
  7. 06/21 t3311: make test work with SHA-256brian m. carlson, Feb 7, 2020
  8. 05/21 t3310: make test work with SHA-256brian m. carlson, Feb 7, 2020
  9. 10/21 t4060: make test work with SHA-256brian m. carlson, Feb 7, 2020
  10. 11/21 t5302: make hash size independentbrian m. carlson, Feb 7, 2020
  11. 15/21 t5515: make test hash independentbrian m. carlson, Feb 7, 2020
  12. 20/21 t6006: make hash size independentbrian m. carlson, Feb 7, 2020
  13. 18/21 t5703: make test work with SHA-256brian m. carlson, Feb 7, 2020
  14. 21/21 t6024: update for SHA-256brian m. carlson, Feb 7, 2020
  15. 14/21 t5321: make test hash independentbrian m. carlson, Feb 7, 2020
  16. 19/21 t6000: abstract away SHA-1-specific constantsbrian m. carlson, Feb 7, 2020
  17. 17/21 t5607: make hash size independentbrian m. carlson, Feb 7, 2020
  18. 13/21 t5313: make test hash independentbrian m. carlson, Feb 7, 2020
  19. 16/21 t5318: update for SHA-256brian m. carlson, Feb 7, 2020
  20. 12/21 t5309: make test hash independentbrian m. carlson, Feb 7, 2020
  21. 09/21 t4211: add test cases for SHA-256brian m. carlson, Feb 7, 2020
  22. 08/21 t4211: move SHA-1-specific test cases into a directorybrian m. carlson, Feb 7, 2020

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.