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@xxxxxxxxx> --- 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