summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThien-Thi Nguyen <ttn@gnu.org>2014-12-12 11:23:52 +0100
committerThien-Thi Nguyen <ttn@gnu.org>2014-12-12 11:23:52 +0100
commit82a31c931520f9396945aea6fafda1fc290b0bda (patch)
treed543427c0ce58db3720cff1c58d484738acf31ab
parentca9c463344ae8315d32af1c6d9586f7301b9fe97 (diff)
downloadrcs-82a31c93.tar.gz
[v] To deduce user, prefer POSIX over BSD over env vars.
* tests/t999 (me): Rewrite code to set this var, first trying ‘id -un’, then ‘whoami’, then the env vars ‘LOGNAME’, ‘USER’.
-rw-r--r--tests/ChangeLog7
-rw-r--r--tests/t99925
2 files changed, 19 insertions, 13 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog
index c63a1c6..6aa87cd 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,5 +1,12 @@
2014-12-12 Thien-Thi Nguyen <ttn@gnu.org>
+ [v] To deduce user, prefer POSIX over BSD over env vars.
+
+ * t999 (me): Rewrite code to set this var, first trying
+ ‘id -un’, then ‘whoami’, then the env vars ‘LOGNAME’, ‘USER’.
+
+2014-12-12 Thien-Thi Nguyen <ttn@gnu.org>
+
[v int] Add abstraction: failed
* t999 (failed): New func.
diff --git a/tests/t999 b/tests/t999
index 075fbbf..afb27d8 100644
--- a/tests/t999
+++ b/tests/t999
@@ -170,19 +170,18 @@ do
$diff a.$n a.c || failed "ci -$n"
done
-case $LOGNAME in
-?*) me=$LOGNAME;;
-*)
- case $USER in
- ?*) me=$USER;;
- *)
- me=`id -un` || exit 2
- case $me in
- '') echo >&2 "$0: cannot deduce user name"; exit 2
- esac
- esac
-esac
-
+# Try POSIX, then BSD, then env vars.
+me=`id -un 2>/dev/null`
+if [ -z "$me" ] ; then
+ me=`whoami 2>/dev/null`
+ if [ -z "$me" ] ; then
+ me=$LOGNAME
+ if [ -z "$me" ] ; then
+ me=$USER
+ test "$me" || { echo >&2 "$0: cannot deduce user name" ; exit 2 ; }
+ fi
+ fi
+fi
# Get the date of the previous revision in UTC.
date=`rlog -r a.c | sed -n '/^date: /{ s///; s/;.*//; p; q; }'` || exit