Skip to content

t: drop more REFFILES prereqs

Patrick Steinhardt git 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest7 patches 1 replyIn review
  2. v17 patches 11 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7t: move tests exercising the "files" backendt/t0600-reffiles-backend.sh t/t1301-shared-repo.sh t/t1400-update-ref.sh +2 more+91 -910 replies
2/7t0410: convert tests to use DEFAULT_REPO_FORMAT prereqt/t0410-partial-clone.sh+2 -21 reply
3/7t1400: exercise reflog with gaps with reftable backendt/t1400-update-ref.sh+7 -70 replies
4/7t1404: make D/F conflict tests compatible with reftable backendt/t1404-update-ref-errors.sh+17 -200 replies
5/7t1405: remove unneeded cleanup stept/t1405-main-ref-store.sh+0 -60 replies
6/7t2011: exercise D/F conflicts with HEAD with the reftable backendt/t2011-checkout-invalid-head.sh+7 -100 replies
7/7t7003: ensure filter-branch prunes reflogs with the reftable backendt/t7003-filter-branch.sh+1 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/7] t: drop more REFFILES prereqs

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 <[email protected]>

## 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.

@@ 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

Signature · 1 line
2.44.0-rc0