[PATCH v2 0/7] t: drop more REFFILES prereqs
From: Patrick Steinhardt <hidden>
Date: 2024-02-15 08:25:31
Hi,
this is the second version of my patch series that drops the REFFILES
prereq from more tests, thereby increasing test coverage of the reftable
backend.
There's only a single change compared to v1, addressing Junio's
feedback. Please refer to the below range-diff.
Thanks!
Patrick
Patrick Steinhardt (7):
t: move tests exercising the "files" backend
t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
t1400: exercise reflog with gaps with reftable backend
t1404: make D/F conflict tests compatible with reftable backend
t1405: remove unneeded cleanup step
t2011: exercise D/F conflicts with HEAD with the reftable backend
t7003: ensure filter-branch prunes reflogs with the reftable backend
t/t0410-partial-clone.sh | 4 +-
t/t0600-reffiles-backend.sh | 91 ++++++++++++++++++++++++++++++++
t/t1301-shared-repo.sh | 16 ------
t/t1400-update-ref.sh | 50 +++---------------
t/t1404-update-ref-errors.sh | 37 ++++++-------
t/t1405-main-ref-store.sh | 6 ---
t/t2011-checkout-invalid-head.sh | 17 +++---
t/t3200-branch.sh | 29 ----------
t/t3400-rebase.sh | 10 ----
t/t7003-filter-branch.sh | 5 +-
10 files changed, 125 insertions(+), 140 deletions(-)
Range-diff against v1:
1: 2eca90234f = 1: 6891cdfdb3 t: move tests exercising the "files" backend
2: feef6a3e6c ! 2: 2dd87f3126 t0410: enable tests with extensions with non-default repo format
@@ Metadata
Author: Patrick Steinhardt [off-list ref]
## Commit message ##
- t0410: enable tests with extensions with non-default repo format
+ t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
In t0410 we have two tests which exercise how partial clones behave in
the context of a repository with extensions. These tests are marked to
- require a default repository using SHA1 and the "files" backend because
- we explicitly set the repository format version to 0.
+ require a repository using SHA1 and the "files" backend because we
+ explicitly set the repository format version to 0, and setting up either
+ the "objectFormat" or "refStorage" extensions requires a repository
+ format version of 1.
- Changing the repository format version to 0 is not needed though. The
- "noop" extension is ignored as expected regardless of what the version
- is set to, same as the "nonsense" extension leads to failure regardless
- of the version.
-
- Stop setting the version so that these tests can execute with SHA256 and
- "reftable" repositories.
+ We have recently introduced a new DEFAULT_REPO_FORMAT prerequisite.
+ Despite capturing the intent more directly, it also has the added
+ benefit that it can easily be extended in the future in case we add new
+ repository extensions. Adapt the tests to use it.
Signed-off-by: Patrick Steinhardt [off-list ref]
@@ t/t0410-partial-clone.sh: test_expect_success 'convert shallow clone to partial
'
-test_expect_success SHA1,REFFILES 'convert to partial clone with noop extension' '
-+test_expect_success 'convert to partial clone with noop extension' '
++test_expect_success DEFAULT_REPO_FORMAT 'convert to partial clone with noop extension' '
rm -fr server client &&
test_create_repo server &&
test_commit -C server my_commit 1 &&
- test_commit -C server my_commit2 1 &&
- git clone --depth=1 "file://$(pwd)/server" client &&
-- test_cmp_config -C client 0 core.repositoryformatversion &&
- git -C client config extensions.noop true &&
+@@ t/t0410-partial-clone.sh: test_expect_success SHA1,REFFILES 'convert to partial clone with noop extension'
git -C client fetch --unshallow --filter="blob:none"
'
-test_expect_success SHA1,REFFILES 'converting to partial clone fails with unrecognized extension' '
-+test_expect_success 'converting to partial clone fails with unrecognized extension' '
++test_expect_success DEFAULT_REPO_FORMAT 'converting to partial clone fails with unrecognized extension' '
rm -fr server client &&
test_create_repo server &&
test_commit -C server my_commit 1 &&
- test_commit -C server my_commit2 1 &&
- git clone --depth=1 "file://$(pwd)/server" client &&
-- test_cmp_config -C client 0 core.repositoryformatversion &&
- git -C client config extensions.nonsense true &&
- test_must_fail git -C client fetch --unshallow --filter="blob:none"
- '
3: 9d8eed354e = 3: ed57913eb9 t1400: exercise reflog with gaps with reftable backend
4: 70c6f98012 = 4: 212949689f t1404: make D/F conflict tests compatible with reftable backend
5: 25cf00c36f = 5: 67d6aede63 t1405: remove unneeded cleanup step
6: 64d2548bbc = 6: 24051cc246 t2011: exercise D/F conflicts with HEAD with the reftable backend
7: 7adf510f73 = 7: 8fb6de37ce t7003: ensure filter-branch prunes reflogs with the reftable backend
base-commit: 4fc51f00ef18d2c0174ab2fd39d0ee473fd144bd
--
2.44.0-rc0
Attachments
- signature.asc [application/pgp-signature] 833 bytes