bug-autoconf
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]