From: Jonathan Nieder Date: Tue, 04 Jan 2011 22:58:26 GMT Subject: Re: [PATCH v2] Fix false positives in t3404 due to SHELL=/bin/false Message-ID: <20110104225826.GA2122@burratino> In-Reply-To: Matthieu Moy wrote: > "Vallon, Justin" writes: >> --- a/t/t3404-rebase-interactive.sh >> +++ b/t/t3404-rebase-interactive.sh >> @@ -71,8 +71,9 @@ test_expect_success 'setup' ' >> # "exec" commands are ran with the user shell by default, but this may >> # be non-POSIX. For example, if SHELL=zsh then ">file" doesn't work >> # to create a file. Unseting SHELL avoids such non-portable behavior >> -# in tests. >> +# in tests. It must be exported for it to take effect where needed. >> SHELL= >> +export SHELL > > (my bad, I wrote this SHELL= without exporting it. Since bash > re-exports already exported variables when they are assigned, and my > /bin/sh points to bash, I didn't notice) Isn't that how export works in all Bourne-style shells? For example: $ env var=outside dash -c ' var=inside; dash -c "echo \$var" ' inside $ Maybe in the failing case SHELL was not exported but just set to /bin/false in .bashrc or similar?