[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GNU Autoconf 2.69.171-527f1-dirty] testsuite: 212 failed
From: |
Václav Haisman |
Subject: |
Re: [GNU Autoconf 2.69.171-527f1-dirty] testsuite: 212 failed |
Date: |
Tue, 8 Nov 2016 14:29:14 +0100 |
On 7 November 2016 at 17:17, Václav Haisman <address@hidden> wrote:
> On 7 November 2016 at 09:41, Diego Pignedoli <address@hidden> wrote:
>>
>
> I can see it too with bash.
>
> +/home/wilx/autoconf/tests/testsuite.dir/212/micro-suite.dir/at-groups/4/test-source:
> line 11: kill: : invalid signal specification
>
> The signal variable is empty in:
>
> ./micro-suite.at:12: kill -$signal $suite_pid
> ++ kill - 3569
>
>
So I have been trying to debug this. It seems to me it is related to
use of two different shell during the execution. I personally use ZSH
for my interactive shell. If I manually set up SHELL and CONFIG_SHELL
to both point either ZSH or both on BASH, the test passes. However, if
just point SHELL to BASH, it fails due to syntactic error.
~~~
amber2::wilx:~/autoconf> SHELL=/bin/bash CONFIG_SHELL=/bin/bash make
check TESTSUITEFLAGS='212'
if test -d ./.git \
&& git --version >/dev/null 2>&1; then \
cd . && \
git submodule --quiet foreach \
'test "$(git rev-parse "$sha1")" \
= "$(git merge-base origin "$sha1")"' \
|| { echo 'maint.mk: found non-public submodule commit' >&2; \
exit 1; }; \
else \
: ; \
fi
make check-am
make[1]: Entering directory '/home/wilx/autoconf'
make check-local
make[2]: Entering directory '/home/wilx/autoconf'
/bin/bash tests/testsuite -C tests 212
## --------------------------------------------- ##
## GNU Autoconf 2.69.171-527f1-dirty test suite. ##
## --------------------------------------------- ##
212: parallel autotest and signal handling ok
## ------------- ##
## Test results. ##
## ------------- ##
1 test was successful.
make[2]: Leaving directory '/home/wilx/autoconf'
make[1]: Leaving directory '/home/wilx/autoconf'
amber2::wilx:~/autoconf> SHELL=/bin/zsh CONFIG_SHELL=/bin/zsh make
check TESTSUITEFLAGS='212'
if test -d ./.git \
&& git --version >/dev/null 2>&1; then \
cd . && \
git submodule --quiet foreach \
'test "$(git rev-parse "$sha1")" \
= "$(git merge-base origin "$sha1")"' \
|| { echo 'maint.mk: found non-public submodule commit' >&2; \
exit 1; }; \
else \
: ; \
fi
make check-am
make[1]: Entering directory '/home/wilx/autoconf'
make check-local
make[2]: Entering directory '/home/wilx/autoconf'
/bin/bash tests/testsuite -C tests 212
## --------------------------------------------- ##
## GNU Autoconf 2.69.171-527f1-dirty test suite. ##
## --------------------------------------------- ##
212: parallel autotest and signal handling ok
## ------------- ##
## Test results. ##
## ------------- ##
1 test was successful.
make[2]: Leaving directory '/home/wilx/autoconf'
make[1]: Leaving directory '/home/wilx/autoconf'
amber2::wilx:~/autoconf> SHELL=/bin/bash make check TESTSUITEFLAGS='212'
if test -d ./.git \
&& git --version >/dev/null 2>&1; then \
cd . && \
git submodule --quiet foreach \
'test "$(git rev-parse "$sha1")" \
= "$(git merge-base origin "$sha1")"' \
|| { echo 'maint.mk: found non-public submodule commit' >&2; \
exit 1; }; \
else \
: ; \
fi
make check-am
make[1]: Entering directory '/home/wilx/autoconf'
make check-local
make[2]: Entering directory '/home/wilx/autoconf'
/bin/bash tests/testsuite -C tests 212
## --------------------------------------------- ##
## GNU Autoconf 2.69.171-527f1-dirty test suite. ##
## --------------------------------------------- ##
212: parallel autotest and signal handling FAILED (autotest.at:1582)
## ------------- ##
## Test results. ##
## ------------- ##
ERROR: 1 test was run,
1 failed unexpectedly.
## -------------------------- ##
## testsuite.log was created. ##
## -------------------------- ##
Please send `tests/testsuite.log' and all information you think might help:
To: <address@hidden>
Subject: [GNU Autoconf 2.69.171-527f1-dirty] testsuite: 212 failed
You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point. Its output may
be found below `tests/testsuite.dir'.
Makefile:2145: recipe for target 'check-local' failed
make[2]: *** [check-local] Error 1
make[2]: Leaving directory '/home/wilx/autoconf'
Makefile:1682: recipe for target 'check-am' failed
make[1]: *** [check-am] Error 2
make[1]: Leaving directory '/home/wilx/autoconf'
Makefile:1684: recipe for target 'check' failed
make: *** [check] Error 2
~~~
Also, I think it might be a good cleanup to use AS_CASE instead of
bare case statement:
~~~
diff --git a/tests/autotest.at b/tests/autotest.at
index 5109bec..ef8c3dd 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -1605,13 +1605,13 @@ for signal in 2 15; do
# Need to normalize exit status here: some make implementations
# exit 1 (BSD make), some exit 2 (GNU make).
AT_CHECK([$MAKE check TESTSUITEFLAGS=; ]dnl
- [case $? in 1|2) exit 1;; *) exit $?;; esac],
+ AS_CASE([$?], [1|2], [exit 1], [exit $?]),
[1], [ignore], [stderr])
AT_CHECK([grep 'bailing out' stderr], [], [ignore])
AT_CHECK([grep 'bailing out' micro-suite.log], [], [ignore])
# Ditto, parallel case.
AT_CHECK([$MAKE check TESTSUITEFLAGS=--jobs=3; ]dnl
- [case $? in 1|2) exit 1;; *) exit $?;; esac],
+ AS_CASE([$?], [1|2], [exit 1], [exit $?]),
[1], [ignore], [stderr])
AT_CHECK([grep 'bailing out' stderr], [], [ignore])
AT_CHECK([grep 'bailing out' micro-suite.log], [], [ignore])
~~~
--
VH