t6300: avoid hard-coding object sizes

f4ee22b526 (ref-filter: add tests for objectsize:disk, 2018-12-24) hard-coded the expected object sizes. Coincidentally the size of commit and tag is the same with zlib at the default compression level. 1f5f8f3e85 (t6300: abstract away SHA-1-specific constants, 2020-02-22) encoded the sizes as a single value, which coincidentally also works with sha256. Different compression libraries like zlib-ng may arrive at different values. Get them from the file system instead of hard-coding them to make switching the compression library (or changing the compression level) easier. Reported-by: Ondrej Pohorelsky <opohorel@redhat.com> Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

René Scharfe committed Dec 12, 2023 at 18:04 UTC fbc6526ea651565889e437ce7b12c762ef858813
1 file changed +9 -9
t/t6300-for-each-ref.sh
+9 -9
@@ -20,12 +20,13 @@ setdate_and_increment () {
20 export GIT_COMMITTER_DATE GIT_AUTHOR_DATE
21 }
22
23 -test_expect_success setup '
24 - test_oid_cache <<-EOF &&
25 - disklen sha1:138
26 - disklen sha256:154
27 - EOF
23 +test_object_file_size () {
24 + oid=$(git rev-parse "$1")
25 + path=".git/objects/$(test_oid_to_path $oid)"
26 + test_file_size "$path"
27 +}
28
29 +test_expect_success setup '
30 # setup .mailmap
31 cat >.mailmap <<-EOF &&
32 A Thor <athor@example.com> A U Thor <author@example.com>
@@ -94,7 +95,6 @@ test_atom () {
95 }
96
97 hexlen=$(test_oid hexsz)
97 -disklen=$(test_oid disklen)
98
99 test_atom head refname refs/heads/main
100 test_atom head refname: refs/heads/main
@@ -129,7 +129,7 @@ test_atom head push:strip=1 remotes/myfork/main
129 test_atom head push:strip=-1 main
130 test_atom head objecttype commit
131 test_atom head objectsize $((131 + hexlen))
132 -test_atom head objectsize:disk $disklen
132 +test_atom head objectsize:disk $(test_object_file_size refs/heads/main)
133 test_atom head deltabase $ZERO_OID
134 test_atom head objectname $(git rev-parse refs/heads/main)
135 test_atom head objectname:short $(git rev-parse --short refs/heads/main)
@@ -203,8 +203,8 @@ test_atom tag upstream ''
203 test_atom tag push ''
204 test_atom tag objecttype tag
205 test_atom tag objectsize $((114 + hexlen))
206 -test_atom tag objectsize:disk $disklen
207 -test_atom tag '*objectsize:disk' $disklen
206 +test_atom tag objectsize:disk $(test_object_file_size refs/tags/testtag)
207 +test_atom tag '*objectsize:disk' $(test_object_file_size refs/heads/main)
208 test_atom tag deltabase $ZERO_OID
209 test_atom tag '*deltabase' $ZERO_OID
210 test_atom tag objectname $(git rev-parse refs/tags/testtag)