git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: <git@vger.kernel.org>
Cc: Derrick Stolee <dstolee@microsoft.com>,
	Junio C Hamano <gitster@pobox.com>
Subject: [PATCH 10/20] t5319: make test work with SHA-256
Date: Sat, 21 Dec 2019 19:49:26 +0000	[thread overview]
Message-ID: <20191221194936.1346664-11-sandals@crustytoothpaste.net> (raw)
In-Reply-To: <20191221194936.1346664-1-sandals@crustytoothpaste.net>

This test corrupts various locations in a multi-pack index to test
various error responses.  However, these offsets differ between SHA-1
indexes and SHA-256 indexes due to differences in object length.  Use
test_oid to look up the correct offsets based on the algorithm.
---
 t/t5319-multi-pack-index.sh | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/t/t5319-multi-pack-index.sh b/t/t5319-multi-pack-index.sh
index 464bb68e89..43a7a66c9d 100755
--- a/t/t5319-multi-pack-index.sh
+++ b/t/t5319-multi-pack-index.sh
@@ -28,6 +28,20 @@ midx_read_expect () {
 	test_cmp expect actual
 }
 
+test_expect_success 'setup' '
+	test_oid_init &&
+	test_oid_cache <<-EOF
+	idxoff sha1:2999
+	idxoff sha256:3739
+
+	packnameoff sha1:652
+	packnameoff sha256:940
+
+	fanoutoff sha1:1
+	fanoutoff sha256:3
+	EOF
+'
+
 test_expect_success 'write midx with no packs' '
 	test_when_finished rm -f pack/multi-pack-index &&
 	git multi-pack-index --object-dir=. write &&
@@ -225,7 +239,7 @@ test_expect_success 'verify bad signature' '
 		"multi-pack-index signature"
 '
 
-HASH_LEN=20
+HASH_LEN=$(test_oid rawsz)
 NUM_OBJECTS=74
 MIDX_BYTE_VERSION=4
 MIDX_BYTE_OID_VERSION=5
@@ -238,9 +252,9 @@ MIDX_CHUNK_LOOKUP_WIDTH=12
 MIDX_OFFSET_PACKNAMES=$(($MIDX_HEADER_SIZE + \
 			 $MIDX_NUM_CHUNKS * $MIDX_CHUNK_LOOKUP_WIDTH))
 MIDX_BYTE_PACKNAME_ORDER=$(($MIDX_OFFSET_PACKNAMES + 2))
-MIDX_OFFSET_OID_FANOUT=$(($MIDX_OFFSET_PACKNAMES + 652))
+MIDX_OFFSET_OID_FANOUT=$(($MIDX_OFFSET_PACKNAMES + $(test_oid packnameoff)))
 MIDX_OID_FANOUT_WIDTH=4
-MIDX_BYTE_OID_FANOUT_ORDER=$((MIDX_OFFSET_OID_FANOUT + 250 * $MIDX_OID_FANOUT_WIDTH + 1))
+MIDX_BYTE_OID_FANOUT_ORDER=$((MIDX_OFFSET_OID_FANOUT + 250 * $MIDX_OID_FANOUT_WIDTH + $(test_oid fanoutoff)))
 MIDX_OFFSET_OID_LOOKUP=$(($MIDX_OFFSET_OID_FANOUT + 256 * $MIDX_OID_FANOUT_WIDTH))
 MIDX_BYTE_OID_LOOKUP=$(($MIDX_OFFSET_OID_LOOKUP + 16 * $HASH_LEN))
 MIDX_OFFSET_OBJECT_OFFSETS=$(($MIDX_OFFSET_OID_LOOKUP + $NUM_OBJECTS * $HASH_LEN))
@@ -387,7 +401,7 @@ test_expect_success 'force some 64-bit offsets with pack-objects' '
 	pack64=$(git pack-objects --index-version=2,0x40 objects64/pack/test-64 <obj-list) &&
 	idx64=objects64/pack/test-64-$pack64.idx &&
 	chmod u+w $idx64 &&
-	corrupt_data $idx64 2999 "\02" &&
+	corrupt_data $idx64 $(test_oid idxoff) "\02" &&
 	midx64=$(git multi-pack-index --object-dir=objects64 write) &&
 	midx_read_expect 1 63 5 objects64 " large-offsets"
 '

  parent reply	other threads:[~2019-12-21 19:50 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-21 19:49 [PATCH 00/20] SHA-256 test fixes, part 7 brian m. carlson
2019-12-21 19:49 ` [PATCH 01/20] t4054: make hash-size independent brian m. carlson
2019-12-21 19:49 ` [PATCH 02/20] t4066: compute index line in diffs brian m. carlson
2019-12-21 19:49 ` [PATCH 03/20] t4134: compute appropriate length constant brian m. carlson
2019-12-21 19:49 ` [PATCH 04/20] t4200: make hash size independent brian m. carlson
2019-12-21 19:49 ` [PATCH 05/20] t4202: abstract away SHA-1-specific constants brian m. carlson
2019-12-21 19:49 ` [PATCH 06/20] t4204: make hash size independent brian m. carlson
2019-12-21 19:49 ` [PATCH 07/20] t4300: abstract away SHA-1-specific constants brian m. carlson
2019-12-21 19:49 ` [PATCH 08/20] t5318: update for SHA-256 brian m. carlson
2019-12-21 19:49 ` [PATCH 09/20] t5319: change invalid offset for SHA-256 compatibility brian m. carlson
2019-12-26 14:36   ` Derrick Stolee
2019-12-21 19:49 ` brian m. carlson [this message]
2019-12-22  0:06   ` [PATCH 10/20] t5319: make test work with SHA-256 Eric Sunshine
2019-12-22 17:47     ` brian m. carlson
2019-12-23  1:25       ` Michael Clark
2019-12-26 14:50   ` Derrick Stolee
2019-12-27 21:35     ` brian m. carlson
2019-12-21 19:49 ` [PATCH 11/20] t5324: make hash size independent brian m. carlson
2019-12-21 19:49 ` [PATCH 12/20] t5504: make hash algorithm independent brian m. carlson
2019-12-21 19:49 ` [PATCH 13/20] t5510: make hash size independent brian m. carlson
2019-12-21 19:49 ` [PATCH 14/20] t5512: abstract away SHA-1-specific constants brian m. carlson
2019-12-21 19:49 ` [PATCH 15/20] t5530: compute results based on object length brian m. carlson
2019-12-21 19:49 ` [PATCH 16/20] t5537: make hash size independent brian m. carlson
2019-12-21 19:49 ` [PATCH 17/20] t5540: " brian m. carlson
2019-12-21 19:49 ` [PATCH 18/20] t5562: use $ZERO_OID brian m. carlson
2019-12-21 19:49 ` [PATCH 19/20] t5601: switch into repository to hash object brian m. carlson
2019-12-21 19:49 ` [PATCH 20/20] t5604: make hash independent brian m. carlson
2019-12-26 14:51 ` [PATCH 00/20] SHA-256 test fixes, part 7 Derrick Stolee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191221194936.1346664-11-sandals@crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=dstolee@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).