[PATCH 4/6] mktag tests: test update-ref and reachable fsck
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Jun 14, 2021, 17:28 UTC
- Message-ID
- <patch-4.6-0359becdc92-20210614T172422Z-avarab@gmail.com>
- In-Reply-To
- <cover-0.6-00000000000-20210614T172422Z-avarab@gmail.com>
Extend the mktag tests to pass the created bad tag through update-ref and fsck.
The reason for passing it through update-ref is to guard against it having a segfault as for-each-ref did before c6854508808 (ref-filter: fix NULL check for parse object failure, 2021-04-01).
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- t/t3800-mktag.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
diff --git a/t/t3800-mktag.sh b/t/t3800-mktag.sh index 43b67a149f8..f5a51d11f81 100755 --- a/t/t3800-mktag.sh +++ b/t/t3800-mktag.sh @@ -44,6 +44,8 @@ check_verify_failure () { ' test_expect_success "setup: $subject" ' + tag_ref=refs/tags/bad_tag && + # Reset any leftover state from the last $subject rm -rf bad-tag && @@ -59,6 +61,20 @@ check_verify_failure () { test_must_fail git -C bad-tag fsck >out 2>err fi ' + + test_expect_success "update-ref & fsck reachable: $subject" ' + # The update-ref of the bad content will fail, do it + # anyway to see if it segfaults + test_might_fail git -C bad-tag update-ref "$tag_ref" "$bad_tag" && + + # Manually create the broken, we cannot do it with + # update-ref + echo "$bad_tag" >"bad-tag/$tag_ref" && + + # Unlike fsck-ing unreachable content above, this + # will always fail. + test_must_fail git -C bad-tag fsck + ' } test_expect_mktag_success() {
-- 2.32.0.555.g0268d380f7b