t06xx: always execute backend-specific tests
commitca13c3e94a737b3dc8624e433ed87fead3a8b974
authorPatrick Steinhardt <ps@pks.im>
Fri, 12 Apr 2024 04:44:48 +0000 (12 06:44 +0200)
committerJunio C Hamano <gitster@pobox.com>
Fri, 12 Apr 2024 15:47:51 +0000 (12 08:47 -0700)
tree026c92cff0084b353ecaff6d968756ff1f0c79d6
parent04ba2c7eb38fbb0f1a440971953557b9eb3b789b
t06xx: always execute backend-specific tests

The tests in t06xx exercise specific ref formats. Next to probing some
basic functionality, these tests also exercise other low-level details
specific to the format. Those tests are only executed though in case
`GIT_TEST_DEFAULT_REF_FORMAT` is set to the ref format of the respective
backend-under-test.

Ideally, we would run the full test matrix for ref formats such that our
complete test suite is executed with every supported format on every
supported platform. This is quite an expensive undertaking though, and
thus we only execute e.g. the "reftable" tests on macOS and Linux. As a
result, we basically have no test coverage for the "reftable" format at
all on other platforms like Windows.

Adapt these tests so that they override `GIT_TEST_DEFAULT_REF_FORMAT`,
which means that they'll always execute. This increases test coverage on
platforms that don't run the full test matrix, which at least gives us
some basic test coverage on those platforms for the "reftable" format.

This of course comes at the cost of running those tests multiple times
on platforms where we do run the full test matrix. But arguably, this is
a good thing because it will also cause us to e.g. run those tests with
the address sanitizer and other non-standard parameters.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0600-reffiles-backend.sh
t/t0601-reffiles-pack-refs.sh
t/t0610-reftable-basics.sh