Re: [PATCH] t1304: Set LOGNAME even if USER is unset or null

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: [PATCH] t1304: Set LOGNAME even if USER is unset or null

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:02:45

"W. Trevor King" [off-list ref] writes:
quoted hunk
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.

Re: [PATCH] t1304: Set LOGNAME even if USER is unset or null

From: W. Trevor King <hidden>
Date: 2016-06-15 23:02:45

On Sun, Oct 19, 2014 at 03:49:36PM -0700, Junio C Hamano wrote:
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)}
I'm fine with that too.
Spelling everything out with if/then/fi is obviously at the other
extreme, i.e.
And I'm fine with this ;).
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.
I can put this into a v2 if you like.  Which conditional syntax do you
prefer?

Cheers,
Trevor

-- 
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help