[PATCH 5/6] mktag tests: test for-each-ref
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jun 14, 2021, 17:28 UTC
- Message-ID
- <patch-5.6-8a626fc63a1-20210614T172422Z-avarab@gmail.com>
- In-Reply-To
- <cover-0.6-00000000000-20210614T172422Z-avarab@gmail.com>
Add a "for-each-ref" for all the mktag tests. This test would have caught the segfault which was fixed in c6854508808 (ref-filter: fix NULL check for parse object failure, 2021-04-01). Let's make sure we test that code more exhaustively.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- t/t3800-mktag.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh index f5a51d11f81..7d0ad3c8e62 100755 --- a/t/t3800-mktag.sh +++ b/t/t3800-mktag.sh @@ -50,7 +50,7 @@ check_verify_failure () { rm -rf bad-tag && git init --bare bad-tag && - git -C bad-tag hash-object -t tag -w --stdin --literally <tag.sig + bad_tag=$(git -C bad-tag hash-object -t tag -w --stdin --literally <tag.sig) ' test_expect_success "hash-object & fsck unreachable: $subject" ' @@ -75,6 +75,16 @@ check_verify_failure () { # will always fail. test_must_fail git -C bad-tag fsck ' + + test_expect_success "for-each-ref: $subject" ' + echo "$bad_tag" >"bad-tag/$tag_ref" && + + printf "%s tag\t%s\n" "$bad_tag" "$tag_ref" >expected && + git -C bad-tag for-each-ref "$tag_ref" >actual && + test_cmp expected actual && + + test_must_fail git -C bad-tag for-each-ref --format="%(*objectname)" + ' } test_expect_mktag_success() {
-- 2.32.0.555.g0268d380f7b