From: Junio C Hamano Date: Sun, 19 Oct 2014 22:49:36 GMT Subject: Re: [PATCH] t1304: Set LOGNAME even if USER is unset or null Message-ID: In-Reply-To: <12975d1f2b5b1cd4cc6052b829bf4814300a7ffd.1413581788.git.wking@tremily.us> "W. Trevor King" writes: > Previous LOGNAME discussion: > > * Michael Gruber on 2011-05-06 suggesting a discussing a whoami > fallback [1] (but whoami isn't POSIX). > * René Scharfe on 2011-10-14 suggesting USER as a fallback for > LOGNAME [2]. > * Matthieu Moy on 2012-09-17 suggesting dropping $LOGNAME in > favor of numerical user IDs 'id -u' for a system with multiple > usernames sharing the same user ID [3]. > > Obviously, you can work around the problem with: > > # USER=$(id -u -n) ./t1304-default-acl.sh > > so the question is really "Are empty-USER systems worth supporting out > of the box?". > > Cheers, > Trevor > > [1]: http://thread.gmane.org/gmane.comp.version-control.git/172883/focus=172961 > [2]: http://thread.gmane.org/gmane.comp.version-control.git/183586 > [3]: http://thread.gmane.org/gmane.comp.version-control.git/205690/focus=205703 > > t/t1304-default-acl.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/t/t1304-default-acl.sh b/t/t1304-default-acl.sh > index 79045ab..f5422f1 100755 > --- a/t/t1304-default-acl.sh > +++ b/t/t1304-default-acl.sh > @@ -26,7 +26,7 @@ test_expect_success 'checking for a working acl setup' ' > > if test -z "$LOGNAME" > then > - LOGNAME=$USER > + LOGNAME="${USER:-$(id -u -n)}" I'll queue this as-is, but it makes me wonder if we want to do this without if/then/fi, e.g. : ${LOGNAME:=${USER:-$(id -u -n)} Spelling everything out with if/then/fi is obviously at the other extreme, i.e. if test -z "$LOGNAME" then if test -n "$USER" then LOGNAME=$USER else LOGNAME=$(id -u -n) fi fi but it probably is a very bad idea. More importantly, what if none of the alternatives work? I personally feel it is OK to punt and declare test_done early, instead of giving false positive breakages like you saw without this patch.