transfer.fsckObjects tests: untangle confusing setup
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Fri, 27 Jul 2018 14:37:16 +0000 (14:37 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 27 Jul 2018 18:36:05 +0000 (11:36 -0700)
commit8b55b9db23962c5623f724d9ec857226dab9631a
treef490b794f8ca6a9d2e42f541e1af2ad3333df3ff
parent720dae5a19074e404224c9051152d7c64ba2acf0
transfer.fsckObjects tests: untangle confusing setup

The tests for transfer.fsckObjects have grown organically over time to
not make much sense.

Initially when these were added in b10a53583f ("test: fetch/receive
with fsckobjects", 2011-09-04) they were only testing the "corrupt or
missing object" case, but later on in 70a4ae73d8 ("fsck: add a simple
test for receive.fsck.<msg-id>", 2015-06-22) they were expanded to
check for the fsck.<msg-id> feature.

The problem was that we still kept the same corrupt test repo, making
it harder to add new tests that check the entirety of the repository
between operations via "git fsck" to see whether only known issues
that can be ignored with fsck.<msg-id> have occurred.

The tests only did the right thing because such a full "git fsck" was
never done after a certain point, and instead we were only
manipulating specific refs. This makes it harder to add new tests, and
none of the fsck.<msg-id> tests relied on this.

So let's not confuse the two and repair the corrupt repository before
we run the fsck.<msg-id> tests.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5504-fetch-receive-strict.sh