Hi, this patch series refactors a bunch of our tests to perform less direct disk access to on-disk data structures. Instead, the tests are converted to use Git tools or our test-tool to access data to the best extent possible. This serves two benefits: - We increase test coverage of our own code base. - We become less dependent on the actual on-disk format. The main motivation for this patch series was the second bullet point as it is preparatory work to get the reftable backend upstreamed. My intent is to get rid of many or even most of the current blockers in the Git project before trying to send the reftable implementation upstream. While this will be a lot of up-front work that is going to span over a long time period, I think this approach will make everyones live easier by doing comparatively small and incremental improvements to the Git project. Ultimately, the final patch series should in the best case only contain the new backend as well as testing infrastructure, but not much else. Patrick Patrick Steinhardt (11): t: add helpers to test for reference existence t: allow skipping expected object ID in `ref-store update-ref` t: convert tests to use helpers for reference existence t: convert tests to not write references via the filesystem t: convert tests to not access symrefs via the filesystem t: convert tests to not access reflog via the filesystem t1450: convert tests to remove worktrees via git-worktree(1) t4207: delete replace references via git-update-ref(1) t7300: assert exact states of repo t7900: assert the absence of refs via git-for-each-ref(1) t: mark several tests that assume the files backend with REFFILES t/README | 9 ++++ t/helper/test-ref-store.c | 38 +++++++++++++-- t/t1400-update-ref.sh | 49 ++++++++++---------- t/t1430-bad-ref-name.sh | 39 ++++++++++------ t/t1450-fsck.sh | 46 ++++++++++--------- t/t2011-checkout-invalid-head.sh | 16 +++---- t/t3200-branch.sh | 74 ++++++++++++++++-------------- t/t3400-rebase.sh | 2 +- t/t3404-rebase-interactive.sh | 2 +- t/t4013-diff-various.sh | 2 +- t/t4202-log.sh | 2 +- t/t4207-log-decoration-colors.sh | 4 +- t/t5521-pull-options.sh | 4 +- t/t5526-fetch-submodules.sh | 2 +- t/t5605-clone-local.sh | 6 +-- t/t5702-protocol-v2.sh | 24 +++++++--- t/t7300-clean.sh | 23 ++++++---- t/t7900-maintenance.sh | 3 +- t/t9133-git-svn-nested-git-repo.sh | 2 +- t/test-lib-functions.sh | 66 ++++++++++++++++++++++++++ 20 files changed, 277 insertions(+), 136 deletions(-) -- 2.42.0
Attachment:
signature.asc
Description: PGP signature