Re: [PATCH 0/5] disallow test_when_finished in subshells
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 5, 2015, 17:36 UTC
- Message-ID
- <CAPc5daUsd8KD77EfF-SBwwOKn0hNPvYXo8UmY-sHBg9S4vUQXg@mail.gmail.com>
- In-Reply-To
- <cover.1441458341.git.john@keeping.me.uk>
On Sat, Sep 5, 2015 at 6:12 AM, John Keeping <john@keeping.me.uk> wrote:
Show 5 quoted lines
> > I don't think it's worth trying to clear $BASH_SUBSHELL before the tests > start because to do so we have to reliably detect that we're not running > under Bash, and if we don't trust people not to set $BASH_SUBSHELL why > do we trust them not to set $BASH?
I am not worried about evil people who do funny things to deliberately break other people's arrangement. I am more worried about stupid people (e.g. those who export CDPATH).
In bash a stupid person may attempt to export BASH_SUBSHELL and then have a script that runs our test suite, setting SHELL_PATH to point at a non-bash while building Git and running the tests under a non-bash shell. I am hesitant to believe that we will know the variable will never leak through to the test via environment.
Isn't it just the matter of resetting the variable regardless of $BASH (and ignoring a possible refusal to do so under bash) at the beginning of the test, or do you really have to rely on the value of $BASH and do things differently?