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

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

 



On Tue, Mar 04, 2025 at 08:39:50AM +0100, Patrick Steinhardt wrote:

> > Some examples, assuming we just suppress reading Git config:
> > 
> >   - Without an explicit ident, we fall back to constructing one from
> >     system info. So if a unit test ever creates a commit, it will work
> >     fine for most people, but not for somebody with a blank GECOS field
> >     in /etc/passwd. (We do look at that field for reflogs, which current
> >     unit tests already do, but we are more forgiving there since we
> >     don't pass IDENT_STRICT).
> > 
> >   - Other programs we call (e.g., imagine gpg or ssh for commit signing
> >     or verification) may read their own config based on $HOME,
> >     $XDG_CONFIG_HOME, etc. I don't know if Patrick was including that in
> >     "sanitizing the environment" or not.
> 
> Oh, yes. I didn't mean to say we shouldn't sanitize at all, I rather
> meant to say we should sanitize to values that simply cause us to do a
> no-op in the relevant parts. That means we'd:
> 
>     - Unset a bunch of environment variables where we know that they
>       impact Git.
> 
>     - Set config-related environment variables to read configuration
>       from "/dev/null".
> 
> This is in contrast to the more involved fix here, which would be to
> populate a temporary home directory with gitconfig files and whatnot.

OK. I still think you'd want to set GIT_COMMITTER_NAME (to avoid gecos
dependencies).

And I'm assuming your "a bunch of environment variables where we know
that they impact Git" includes $HOME, since we are inheriting
dependencies from sub-programs. It doesn't necessarily have to point
somewhere useful, though I wouldn't be surprised if some programs
complain if they can't write to it.

-Peff




[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