Re: [BUG/WIP PATCH] unit-tests: use clean test environment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Mo., 3. März 2025 um 11:33 Uhr schrieb Patrick Steinhardt <ps@xxxxxx>:
>
> On Fri, Feb 28, 2025 at 06:15:42AM -0800, Junio C Hamano wrote:
> > Patrick Steinhardt <ps@xxxxxx> writes:
> > > I suspect that most environment variables shouldn't matter (for now), so
> > > overall the duplication may be acceptable:
> > >
> > >   - We need to unset a couple of variables, but we can probably reuse
> > >     logic `git rev-parse --local-env-vars`.
> > >
> > >   - We need to ask Git to not read the configuration, which we can do by
> > >     setting a couple of envvars. This should be manageable.
> >
> > "Provide a controlled environment where Git pretends this is the
> > $HOME and that is the $AUTHOR_NAME and so on" is much more
> > preferrable than "Tell it not to read", no?
>
> Maybe. I guess for unit tests it's a lot less clear cut as most of the
> tests won't depend on such a controlled environment. So sanitizing the
> environment would be a good enough first step for me, and if we see
> demand for making specific information available to lots of tests we
> could still start to expose those at a later point.

Since I haven't been following the list I don't know what the plan is
regarding the different test sets/framework. But, unless they are
meant to be completely separate or rewritten right away, I would say
that both shell tests and C tests (whatever framework) should run in
the same environment, and this should be a controlled environment in
terms of git and other config files (which means set up a separate
HOME) and the most relevant env vars (test-lib.sh tries to do that,
too).

> Of course, if the author already wants to do both steps right now I
> won't complain :)

Nah, I had a hard time just reading the failing unit-test and figuring
out how to deal with it - GIT_TEST_OPTIONS=`-i -v` does nothing for
unit-tests, and I yet have to find documentation on them. I do
understand why you want a solution in C, not a shell wrapper. (Though
you have one right now ...)

I'd rather leave this to those "in the know", or "in the want" ;-)

Michael





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux