From: Patrick Steinhardt <ps@pks.im>
To: git@vger.kernel.org, Han-Wen Nienhuys <hanwenn@gmail.com>,
Josh Steadmon <steadmon@google.com>,
Luca Milanesio <luca.milanesio@gmail.com>,
Eric Sunshine <sunshine@sunshineco.com>
Subject: Re: [PATCH v2 12/12] t0612: add tests to exercise Git/JGit reftable compatibility
Date: Thu, 11 Apr 2024 10:55:49 +0200 [thread overview]
Message-ID: <ZhelldbAia0wxIpD@tanuki> (raw)
In-Reply-To: <t4powjtw4yapbivatafkez5e2ha5gcssintxam47ibkvjlb4le@ob5deeaxpzqr>
[-- Attachment #1: Type: text/plain, Size: 2639 bytes --]
On Wed, Apr 10, 2024 at 03:43:58PM -0500, Justin Tobler wrote:
> On 24/04/08 08:47AM, Patrick Steinhardt wrote:
> > While the reftable format is a recent introduction in Git, JGit already
> > knows to read and write reftables since 2017. Given the complexity of
> > the format there is a very real risk of incompatibilities between those
> > two implementations, which is something that we really want to avoid.
> >
> > Add some basic tests that verify that reftables written by Git and JGit
> > can be read by the respective other implementation. For now this test
> > suite is rather small, only covering basic functionality. But it serves
> > as a good starting point and can be extended over time.
> >
> > Signed-off-by: Patrick Steinhardt <ps@pks.im>
> > ---
> > t/t0612-reftable-jgit-compatibility.sh | 132 +++++++++++++++++++++++++
> > 1 file changed, 132 insertions(+)
> > create mode 100755 t/t0612-reftable-jgit-compatibility.sh
> >
> > diff --git a/t/t0612-reftable-jgit-compatibility.sh b/t/t0612-reftable-jgit-compatibility.sh
> > new file mode 100755
> > index 0000000000..222464e360
> > --- /dev/null
> > +++ b/t/t0612-reftable-jgit-compatibility.sh
> > @@ -0,0 +1,132 @@
> > +#!/bin/sh
> > +
> > +test_description='reftables are compatible with JGit'
> > +
> > +GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
> > +export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
> > +GIT_TEST_DEFAULT_REF_FORMAT=reftable
> > +export GIT_TEST_DEFAULT_REF_FORMAT
> > +
> > +# JGit does not support the 'link' DIRC extension.
> > +GIT_TEST_SPLIT_INDEX=0
> > +export GIT_TEST_SPLIT_INDEX
> > +
> > +. ./test-lib.sh
> > +
> > +if ! test_have_prereq JGIT
>
> Do we want these tests to run in CI? As far as I can tell these tests
> would always be skipped.
They aren't skipped on Linux-based jobs at least. The JGIT prerequisite
is defined in "t/test-lib.sh" like so:
```
test_lazy_prereq JGIT '
jgit --version
'
```
And because we have adapted "install-dependencies.sh" to install the
"jgit" executable into our custom PATH directory it is available,
meaning that the prereq is fulfilled.
But you're actually onto something: while the tests run on GitHub, they
don't run on GitLab. And this is caused by the unprivileged build that
we use on GitLab, where we install dependencies as a different user than
what we run tests with. Consequently, as the custom path is derived from
HOME, and HOME changes, we cannot find these binaries.
This is not a new issue, it's been there since the inception of the
GitLab pipelines. I'll include another patch on top to fix this.
Patrick
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2024-04-11 8:55 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-04 13:25 [PATCH 00/12] t: exercise Git/JGit reftable compatibility Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 01/12] ci: rename "runs_on_pool" to "distro" Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 02/12] ci: expose distro name in dockerized GitHub jobs Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 03/12] ci: allow skipping sudo on dockerized jobs Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 04/12] ci: drop duplicate package installation for "linux-gcc-default" Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 05/12] ci: convert "install-dependencies.sh" to use "/bin/sh" Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 06/12] ci: merge custom PATH directories Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 07/12] ci: merge scripts which install dependencies Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 08/12] ci: make Perforce binaries executable for all users Patrick Steinhardt
2024-04-05 20:01 ` Josh Steadmon
2024-04-08 5:48 ` Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 09/12] ci: install JGit dependency Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 10/12] t06xx: always execute backend-specific tests Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 11/12] t0610: fix non-portable variable assignment Patrick Steinhardt
2024-04-05 9:14 ` Eric Sunshine
2024-04-05 9:40 ` Patrick Steinhardt
2024-04-05 16:02 ` Junio C Hamano
2024-04-05 16:12 ` [PATCH] CodingGuidelines: quote assigned value with "local" and "export" Junio C Hamano
2024-04-05 16:21 ` Junio C Hamano
2024-04-05 17:48 ` Jeff King
2024-04-05 19:36 ` Junio C Hamano
2024-04-05 23:15 ` Junio C Hamano
2024-04-07 1:23 ` Jeff King
2024-04-05 16:44 ` [PATCH 11/12] t0610: fix non-portable variable assignment Patrick Steinhardt
2024-04-04 13:25 ` [PATCH 12/12] t0612: add tests to exercise Git/JGit reftable compatibility Patrick Steinhardt
2024-04-04 21:40 ` Han-Wen Nienhuys
2024-04-05 9:41 ` Patrick Steinhardt
2024-04-06 13:03 ` Han-Wen Nienhuys
2024-04-06 15:53 ` Patrick Steinhardt
2024-04-08 5:24 ` Patrick Steinhardt
2024-04-04 13:37 ` [PATCH 00/12] t: " Patrick Steinhardt
2024-04-08 6:45 ` [PATCH v2 " Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 02/12] ci: expose distro name in dockerized GitHub jobs Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 03/12] ci: allow skipping sudo on dockerized jobs Patrick Steinhardt
2024-04-10 16:53 ` Toon claes
2024-04-10 17:21 ` Junio C Hamano
2024-04-11 8:55 ` Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 04/12] ci: drop duplicate package installation for "linux-gcc-default" Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 05/12] ci: convert "install-dependencies.sh" to use "/bin/sh" Patrick Steinhardt
2024-04-10 20:46 ` Justin Tobler
2024-04-11 8:55 ` Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 06/12] ci: merge custom PATH directories Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 07/12] ci: merge scripts which install dependencies Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 08/12] ci: make Perforce binaries executable for all users Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 09/12] ci: install JGit dependency Patrick Steinhardt
2024-04-08 6:46 ` [PATCH v2 10/12] t06xx: always execute backend-specific tests Patrick Steinhardt
2024-04-08 6:47 ` [PATCH v2 11/12] t0610: fix non-portable variable assignment Patrick Steinhardt
2024-04-08 6:57 ` Eric Sunshine
2024-04-08 8:56 ` Patrick Steinhardt
2024-04-08 6:47 ` [PATCH v2 12/12] t0612: add tests to exercise Git/JGit reftable compatibility Patrick Steinhardt
2024-04-08 7:10 ` Eric Sunshine
2024-04-08 16:07 ` Junio C Hamano
2024-04-08 16:19 ` Eric Sunshine
2024-04-08 16:29 ` Eric Sunshine
2024-04-08 16:22 ` Patrick Steinhardt
2024-04-08 17:26 ` Jeff King
2024-04-08 21:52 ` Junio C Hamano
2024-04-08 21:51 ` Junio C Hamano
2024-04-10 20:43 ` Justin Tobler
2024-04-11 8:55 ` Patrick Steinhardt [this message]
2024-04-08 6:47 ` [PATCH v2 01/12] ci: rename "runs_on_pool" to "distro" Patrick Steinhardt
2024-04-09 2:17 ` [PATCH v2 00/12] t: exercise Git/JGit reftable compatibility Junio C Hamano
2024-04-09 3:43 ` Patrick Steinhardt
2024-04-09 5:34 ` Junio C Hamano
2024-04-09 6:07 ` Patrick Steinhardt
2024-04-09 9:57 ` [PATCH 0/2] t0610: fix umask tests Patrick Steinhardt
2024-04-09 9:57 ` [PATCH 1/2] t0610: make `--shared=` tests reusable Patrick Steinhardt
2024-04-09 9:57 ` [PATCH 2/2] t0610: execute git-pack-refs(1) with specified umask Patrick Steinhardt
2024-04-10 21:49 ` [PATCH 0/2] t0610: fix umask tests Justin Tobler
2024-04-11 9:09 ` [PATCH v3 00/13] t: exercise Git/JGit reftable compatibility Patrick Steinhardt
2024-04-11 9:09 ` [PATCH v3 01/13] ci: rename "runs_on_pool" to "distro" Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 02/13] ci: expose distro name in dockerized GitHub jobs Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 03/13] ci: skip sudo when we are already root Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 04/13] ci: drop duplicate package installation for "linux-gcc-default" Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 05/13] ci: convert "install-dependencies.sh" to use "/bin/sh" Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 06/13] ci: merge custom PATH directories Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 07/13] ci: fix setup of custom path for GitLab CI Patrick Steinhardt
2024-04-11 10:06 ` Eric Sunshine
2024-04-11 10:26 ` Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 08/13] ci: merge scripts which install dependencies Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 09/13] ci: make Perforce binaries executable for all users Patrick Steinhardt
2024-04-11 9:10 ` [PATCH v3 10/13] ci: install JGit dependency Patrick Steinhardt
2024-04-11 9:11 ` [PATCH v3 11/13] t06xx: always execute backend-specific tests Patrick Steinhardt
2024-04-11 9:11 ` [PATCH v3 12/13] t0610: fix non-portable variable assignment Patrick Steinhardt
2024-04-11 9:11 ` [PATCH v3 13/13] t0612: add tests to exercise Git/JGit reftable compatibility Patrick Steinhardt
2024-04-12 4:43 ` [PATCH v4 00/13] t: " Patrick Steinhardt
2024-04-12 4:43 ` [PATCH v4 01/13] ci: rename "runs_on_pool" to "distro" Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 02/13] ci: expose distro name in dockerized GitHub jobs Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 03/13] ci: skip sudo when we are already root Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 04/13] ci: drop duplicate package installation for "linux-gcc-default" Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 05/13] ci: convert "install-dependencies.sh" to use "/bin/sh" Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 06/13] ci: merge custom PATH directories Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 07/13] ci: fix setup of custom path for GitLab CI Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 08/13] ci: merge scripts which install dependencies Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 09/13] ci: make Perforce binaries executable for all users Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 10/13] ci: install JGit dependency Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 11/13] t06xx: always execute backend-specific tests Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 12/13] t0610: fix non-portable variable assignment Patrick Steinhardt
2024-04-12 4:44 ` [PATCH v4 13/13] t0612: add tests to exercise Git/JGit reftable compatibility Patrick Steinhardt
2024-05-03 18:42 ` [PATCH v4 00/13] t: " Justin Tobler
2024-05-03 18:48 ` Patrick Steinhardt
2024-05-03 18:57 ` Patrick Steinhardt
2024-05-03 19:35 ` Justin Tobler
2024-05-03 19:49 ` Patrick Steinhardt
2024-05-04 17:32 ` Justin Tobler
2024-05-06 5:53 ` Patrick Steinhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZhelldbAia0wxIpD@tanuki \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=hanwenn@gmail.com \
--cc=luca.milanesio@gmail.com \
--cc=steadmon@google.com \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.