[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
testsuite failures with dash: 80 151
From: |
Ralf Wildenhues |
Subject: |
testsuite failures with dash: 80 151 |
Date: |
Thu, 27 Nov 2008 08:30:05 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
Beside the parallel tests, I currently get two failures with dash 0.5.4
on Debian GNU/Linux. (The numbers are probably skewed due to local
changes).
$ CONFIG_SHELL=/bin/dash /bin/dash ./testsuite 80 151
seems to consistently provoke both, while with
$ /bin/dash ./testsuite 80 151
test 151 passes consistently and test 80 fails only some of the time.
Failures look like this:
| 80. m4sh.at:1261: testing ...
| ../../autoconf/tests/m4sh.at:1275: autom4te --language=m4sh script.as -o
script
| ../../autoconf/tests/m4sh.at:1276: ./script
| stdout:
| hello from parent
| SHELL=/bin/sh
| ../../autoconf/tests/m4sh.at:1277: grep 'SHELL=.' stdout
| stdout:
| SHELL=/bin/sh
| ../../autoconf/tests/m4sh.at:1279: ./child
| ../../autoconf/tests/m4sh.at:1284: ./script
| ../../autoconf/tests/m4sh.at:1285: cmp child child.bak
| ../../autoconf/tests/m4sh.at:1286: grep 'SHELL=.' stdout
| stdout:
| SHELL=/bin/sh
| ../../autoconf/tests/m4sh.at:1288: ./child
| ../../autoconf/tests/m4sh.at:1311: autom4te --language=m4sh script.as -o
script
| ../../autoconf/tests/m4sh.at:1312: ./script
| --- - 2008-11-27 08:21:54.342435560 +0100
| +++ /tmp/autoconf/build/tests/testsuite.dir/at-groups/80/stdout
2008-11-27 08:21:54.000000000 +0100
| @@ -1,5 +1,3 @@
| -script: hello from parent
| -hello1 from child
| -child: hello2 from child
| -child: hello3 from child
| +hello from parent
| +SHELL=/bin/sh
[...]
| ../../autoconf/tests/autotest.at:594: $CONFIG_SHELL ./micro-suite -C nonesuch
| stderr:
| cd: 913: can't cd to nonesuch
| micro-suite: error: unable to change directory
| stdout:
| ../../autoconf/tests/autotest.at:594: exit code was 2, expected 1
| micro-suite.log:
| sed: can't read micro-suite.log: No such file or directory
With the patch below, the failure go away when CONFIG_SHELL is not set
(/bin/sh is bash). With CONFIG_SHELL set, test 151 still passes, and
80 now fails like this:
| 80. m4sh.at:1261: testing ...
| ../../autoconf/tests/m4sh.at:1275: autom4te --language=m4sh script.as -o
script
| ../../autoconf/tests/m4sh.at:1276: ./script
| stdout:
| hello from parent
| SHELL=/bin/dash
| ../../autoconf/tests/m4sh.at:1277: grep 'SHELL=.' stdout
| stdout:
| SHELL=/bin/dash
| ../../autoconf/tests/m4sh.at:1279: ./child
| ../../autoconf/tests/m4sh.at:1284: ./script
| ../../autoconf/tests/m4sh.at:1285: cmp child child.bak
| ../../autoconf/tests/m4sh.at:1286: grep 'SHELL=.' stdout
| stdout:
| SHELL=/bin/dash
| ../../autoconf/tests/m4sh.at:1288: ./child
| ../../autoconf/tests/m4sh.at:1312: autom4te --language=m4sh script.as -o
script
| ../../autoconf/tests/m4sh.at:1313: ./script
| ../../autoconf/tests/m4sh.at:1318: sed 's,:[0-9][0-9]*:,:0:,' log
| --- - 2008-11-27 08:27:21.183365446 +0100
| +++ /tmp/autoconf/build/tests/testsuite.dir/at-groups/80/stdout
2008-11-27 08:27:20.000000000 +0100
| @@ -1,3 +1,3 @@
| script:0: hello from parent
| -child:0: hello3 from child
| +child:: hello3 from child
I'm not quite sure why this happens, I have not been able to reproduce
it manually.
OK to apply?
Thanks,
Ralf
Fix a couple of test failures with dash.
* tests/autotest.at (AT_CHECK_AT_TITLE_CHAR): Normalize
exit status of `cd'.
* tests/m4sh.at (AS_MESSAGE_LOG_FD): Remove script before
regeneration, to avoid timing effects.
diff --git a/tests/autotest.at b/tests/autotest.at
index 6eb4d19..576eb80 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -616,9 +616,9 @@ AT_CHECK([$CONFIG_SHELL ./micro-suite --clean
--directory="`pwd`/sub2"])
AT_CHECK([test -f sub2/micro-suite.log], [1])
AT_CHECK([test -f sub2/micro-suite.dir], [1])
dnl check for failure detection with bad, missing, or empty directory.
-AT_CHECK([$CONFIG_SHELL ./micro-suite -C nonesuch], [1], [ignore], [ignore])
+AT_CHECK([$CONFIG_SHELL ./micro-suite -C nonesuch || exit 1], [1], [ignore],
[ignore])
AT_CHECK([$CONFIG_SHELL ./micro-suite -C ''], [1], [ignore], [ignore])
-AT_CHECK([$CONFIG_SHELL ./micro-suite -C -], [1], [ignore], [ignore])
+AT_CHECK([$CONFIG_SHELL ./micro-suite -C - || exit 1], [1], [ignore], [ignore])
AT_CHECK([$CONFIG_SHELL ./micro-suite -C], [1], [ignore], [ignore])
dnl check that --help overrides bad directory selection.
AT_CHECK([$CONFIG_SHELL ./micro-suite -C nonesuch --help], [0], [ignore], [])
diff --git a/tests/m4sh.at b/tests/m4sh.at
index 0c575de..daedc0e 100644
--- a/tests/m4sh.at
+++ b/tests/m4sh.at
@@ -1308,6 +1308,7 @@ exec AS_MESSAGE_LOG_FD>-
./$child
]])
+rm -f script
AT_CHECK_M4SH
AT_CHECK([./script], [0], [[script: hello from parent
hello1 from child
- testsuite failures with dash: 80 151,
Ralf Wildenhues <=