summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-03-04 17:14:14 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-03-04 17:14:14 +0100
commit43814d248d030849c366e83e550f90a88596461d (patch)
tree9c190035a148bd151a73b60c4c184d35727968d3
parent6e7264cf45b61cf40e0cc91b63ae8365d4f2d1f1 (diff)
downloadautoconf-43814d248d030849c366e83e550f90a88596461d.tar.gz
tests: fix spurious failure due to Solaris XPG4 sh bug
On Solaris 10, the /usr/xpg4/bin/sh shell seems unable to execute a shell script named 'script': $ touch script $ /bin/sh script; echo status: $? # As expected. status: 0 $ /usr/xpg4/bin/sh script; echo status: $? # Weirdness follows. /usr/xpg4/bin/sh: script: cannot execute status: 1 This was causing a spurious testsuite failure for users which have /usr/xpg4/bin in $PATH before /bin and /usr/bin. Fix that. * tests/m4sh.at (Configure re-execs self with CONFIG_SHELL): Rename the m4sh-produced script to 'script2', to avoid the just-described issue.
-rw-r--r--tests/m4sh.at10
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/m4sh.at b/tests/m4sh.at
index 78fe9674..4e4da5d1 100644
--- a/tests/m4sh.at
+++ b/tests/m4sh.at
@@ -49,6 +49,10 @@ echo foo > sentinel
]])
AT_CHECK_M4SH
+# Calling the script simply 'script' could cause problems with
+# Solaris /usr/xpg4/bin/sh in the invocation 'sh script' below.
+mv -f script script2
+
AT_DATA([fake-shell],
[[#!/bin/sh
echo 'Fake shell executed.'
@@ -61,7 +65,7 @@ done
]])
chmod a+x fake-shell
-AT_CHECK([CONFIG_SHELL=./fake-shell ./script 1 2 4 8], [0],
+AT_CHECK([CONFIG_SHELL=./fake-shell ./script2 1 2 4 8], [0],
[Fake shell executed.
nargs = 4
:1:
@@ -73,7 +77,7 @@ AT_CHECK([test ! -f sentinel], [0])
test ! -f sentinel || rm -f sentinel # Cleanup for next test.
AT_CHECK(
-[CONFIG_SHELL=`pwd`/fake-shell sh script a 'b c' ' d e '],
+[CONFIG_SHELL=`pwd`/fake-shell sh script2 a 'b c' ' d e '],
[0],
[Fake shell executed.
nargs = 3
@@ -85,7 +89,7 @@ AT_CHECK([test ! -f sentinel], [0])
test ! -f sentinel || rm -f sentinel # Cleanup for next test.
AT_CHECK([(PATH=`pwd`:$PATH; export PATH;
-CONFIG_SHELL=fake-shell script '' '&' '!;*' '<($[]@%:@)>,' 'x
+CONFIG_SHELL=fake-shell script2 '' '&' '!;*' '<($[]@%:@)>,' 'x
y z
1 2 3')], [0],
[Fake shell executed.