Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH v2] Fix false positives in t3404 due to SHELL=/bin/false

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:50:18

"Robin H. Johnson" [off-list ref] writes:
If the user's shell in NSS passwd is /bin/false (eg as found during Gentoo's
package building), the git-rebase exec tests will fail, because they call
$SHELL around the command, and in the existing testcase, $SHELL was not being
cleared sufficently.
quoted hunk
---
 t/t3404-rebase-interactive.sh |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index d3a3bd2..7d8147b 100755
--- 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
Thanks; will queue this version to 'maint'.

I have this nagging suspicion that we may want to revisit this to assign
$SHELL_PATH to it before exporting, and that this might be better done in
t/test-lib.sh at the beginning.  Note that unlike my earlier "your v1
might be less portable than desired", these two points are only
speculations and RFCs.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help