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"
'
next prev 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).