From: Junio C Hamano Date: Sat, 05 Sep 2015 17:36:29 GMT Subject: Re: [PATCH 0/5] disallow test_when_finished in subshells Message-ID: In-Reply-To: On Sat, Sep 5, 2015 at 6:12 AM, John Keeping wrote: > > 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?