Subject: Re: [PATCH 06/12] meson: wire up credential helpers

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 31 Mar 2025 08:55:03 +0200

On Sat, Mar 29, 2025 at 07:15:00AM +0000, M Hickford wrote:
> On Tue, 18 Feb 2025 at 11:14, Patrick Steinhardt <[email-masked]> wrote:
> >
> > On Tue, Feb 18, 2025 at 10:11:23AM +0000, M Hickford wrote:
> > > > Note that ideally, we'd also wire up t0303 to be executed with each of
> > > > the credential helpers to verify their functionality. Unfortunately
> > > > though, none of them pass the test suite right now, so this is left for
> > > > a future change.
> > >
> > > Out of curiosity, which tests failed?
> >
> > Basically all of them. I originally had the patch at the bottom of this
> > email. With that in place, we re-run t0303 for every configured
> > credential helper, where `GIT_TEST_CREDENTIAL_HELPER` is set to the
> > respective credential helper under test. We have to disable parallel
> > tests there because the test state directories would otherwise conflict
> > with one another.
> >
> > Now you can for example:
> >
> >     $ meson setup build -Dcredential_helpers=libsecret,netrc
> >     $ meson test -C build t0303-*
> >
> > And that shows failures like:
> >
> >     --- expect-stderr   2025-02-18 11:09:33.323668205 +0000
> >     +++ stderr  2025-02-18 11:09:33.347668278 +0000
> >     @@ -1,2 +1,4 @@
> >     +
> >     +** (process:75536): CRITICAL **: 11:09:33.339: lookup failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files
> >      askpass: Username for 'https://example.com':
> >      askpass: Password for 'https://[email-masked]':
> >     error: last command exited with $?=1
> >     not ok 1 - helper (/home/pks/Development/git/build/contrib/credential/libsecret/git-credential-libsecret) has no existing data
> >
> > I might be missing how exactly to set all of this up so that things
> > actually work. Maybe I have to do something specific for each of the
> > helpers via `GIT_TEST_CREDENTIAL_HELPER_SETUP`. But t0303 isn't wired up
> > via our Makefiles for any of the helpers, as far as I can see, so I'm
> > unable to figure out what such a setup would look like.
> >
> > Any hints would be welcome.
> 
> Before you can use git-credential-libsecret, you'd need to install
> gnome-keyring, run gnome-keyring-daemon, and create a keyring
> (choosing a password, can be empty).
> https://unix.stackexchange.com/a/548005/7732

Hm, okay. Ideally, the test setup should take care of all of this and
also depend on gnome-keyring being available in the first place. Anyway,
this seems like a preexisitng issue that would also be the case with our
Makefile. As such it's not specific to the setup via Meson and I'm going
to leave it at that. #leftoverbits

Thanks for the hint!

Patrick