threads / patch / 29811

patchtests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh

Subject: [PATCH] tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh

## tl;dr

4 messages between Mar 2, 2012 and Mar 2, 2012. Diffs are folded; open one to read it.

replies: 3people: 2as markdown or json

Stefano Lattarini· Mar 2, 2012, 10:33 UTC · lore

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.
---
 t/test-lib.sh |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
Show changes to t/test-lib.sh +5 −4
diff --git a/t/test-lib.sh b/t/test-lib.sh
index a089a18..c0d04c4 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -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
-- 
1.7.9
Stefano Lattarini· Mar 2, 2012, 18:48 UTC · re: Junio C Hamano · lore

[PATCH v2] tests: fix spurious error when run directly with Solaris /usr/xpg4/bin/sh

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>
---
 Changes from the previous version: add a proper "Signed-off-by" line,
 which I had forgotten in the previous version.  Sorry for the confusion.
 t/test-lib.sh |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
Show changes to t/test-lib.sh +5 −4
diff --git a/t/test-lib.sh b/t/test-lib.sh
index a089a18..c0d04c4 100644
--- a/t/test-lib.sh
+++ b/t/test-lib.sh
@@ -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
-- 
1.7.9

← back to recent threads