Code

tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh
authorStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 2 Mar 2012 18:48:36 +0000 (19:48 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 2 Mar 2012 22:41:06 +0000 (14:41 -0800)
If any test script is run directly with Solaris 10 /usr/xpg4/bin/sh or
/bin/ksh, it fails spuriously with a message like:

  t0000-basic.sh[31]: unset: bad argument count

This happens because those shells bail out when encountering a call to
"unset" with no arguments, and such unset call could take place in
'test-lib.sh'.  Fix that issue, and add a proper comment to ensure we
don't regress in this respect.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/test-lib.sh

index a089a188641f47a24e9018d852a3089aaf47d345..c0d04c494ae5892b539eed13f9717db27d1ec860 100644 (file)
@@ -42,10 +42,11 @@ TZ=UTC
 TERM=dumb
 export LANG LC_ALL PAGER TERM TZ
 EDITOR=:
-unset VISUAL
-unset EMAIL
-unset LANGUAGE
-unset $(perl -e '
+# A call to "unset" with no arguments causes at least Solaris 10
+# /usr/xpg4/bin/sh and /bin/ksh to bail out.  So keep the unsets
+# deriving from the command substitution clustered with the other
+# ones.
+unset VISUAL EMAIL LANGUAGE $(perl -e '
        my @env = keys %ENV;
        my $ok = join("|", qw(
                TRACE