t1006: add tests for %(objectsize:disk)
commitf546151228ea99cb9e68ec321ace7d2ee7c20af5
authorJeff King <peff@peff.net>
Thu, 21 Dec 2023 09:47:22 +0000 (21 04:47 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 21 Dec 2023 18:37:46 +0000 (21 10:37 -0800)
treeaf419675ef9eff47da066129026e38abbd904ea1
parent564d0252ca632e0264ed670534a51d18a689ef5d
t1006: add tests for %(objectsize:disk)

Back when we added this placeholder in a4ac106178 (cat-file: add
%(objectsize:disk) format atom, 2013-07-10), there were no tests,
claiming "[...]the exact numbers returned are volatile and subject to
zlib and packing decisions".

But we can use a little shell hackery to get the expected numbers
ourselves. To a certain degree this is just re-implementing what Git is
doing under the hood, but it is still worth doing. It makes sure we
exercise the %(objectsize:disk) code at all, and having the two
implementations agree gives us more confidence.

Note that our shell code assumes that no object appears twice (either in
two packs, or as both loose and packed), as then the results really are
undefined. That's OK for our purposes, and the test will notice if that
assumption is violated (the shell version would produce duplicate lines
that Git's output does not have).

Helped-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1006-cat-file.sh