On Wed, Oct 18, 2023 at 07:35:03AM +0200, Patrick Steinhardt wrote: > 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 As usual, I forgot to mention that this applies on top of current master, which is at a9ecda2788 (The eighteenth batch, 2023-10-13) at the time of writing. I look forward to the day where I remember to include this information in the cover letter... 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