On 2021-10-28 19:16+0000, Eric Wong wrote: > Thomas Weißschuh <[email protected]> wrote: > > It turned out that in my > > $XDG_CONFIG_HOME/lei/all_locals_ever.git/lei_ale.state > > there were entries for the repositories in > > $PUBLIC_INBOX_SRC/t/home2/{t1,t2}. > > > > I'm not sure how those entries came to be but probably because of some > > debugging things I did before. > > The presence of t1 & t2 entries is harmless for normal lei > operation; but they shouldn't be there... > > I wonder, do you have XDG_CACHE_HOME explicitly set in your env? > If so, that would've caused problems (fixed below).
Yes I have it set explicitly > > IMO it would make sense to prevent p-i to read this global state during > > unittests. > > Yes, I think this was from our failure to clobber XDG_CACHE_HOME: That works, thanks! Tested-by: Thomas Weißschuh <[email protected]> > ------------8<------------ > Subject: [PATCH] test_common: clear XDG_CACHE_HOME before lei tests > > We don't want to read a users' > $XDG_CACHE_HOME/lei/all_locals_ever.git during tests. > > Reported-by: Thomas Weißschuh <[email protected]> > Link: > https://public-inbox.org/meta/[email protected]/ > --- > lib/PublicInbox/TestCommon.pm | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/lib/PublicInbox/TestCommon.pm b/lib/PublicInbox/TestCommon.pm > index c3820d3a..052d6e45 100644 > --- a/lib/PublicInbox/TestCommon.pm > +++ b/lib/PublicInbox/TestCommon.pm > @@ -556,16 +556,20 @@ SKIP: { > require_git(2.6, 1) or skip('git 2.6+ required for lei test', 2); > my $mods = $test_opt->{mods} // [ 'lei' ]; > require_mods(@$mods, 2); > + > + # set PERL_INLINE_DIRECTORY before clobbering XDG_CACHE_HOME > + require PublicInbox::Spawn; > require PublicInbox::Config; > require File::Path; > + > local %ENV = %ENV; > delete $ENV{XDG_DATA_HOME}; > delete $ENV{XDG_CONFIG_HOME}; > + delete $ENV{XDG_CACHE_HOME}; > $ENV{GIT_COMMITTER_EMAIL} = '[email protected]'; > $ENV{GIT_COMMITTER_NAME} = 'lei user'; > my (undef, $fn, $lineno) = caller(0); > my $t = "$fn:$lineno"; > - require PublicInbox::Spawn; > state $lei_daemon = PublicInbox::Spawn->can('send_cmd4') || > eval { require Socket::MsgHdr; 1 }; > unless ($lei_daemon) {
