Hello Tim,

thanks for the report, and sorry for the long delay.
First off, the failures you are seeing in 2.65 are not
problematic for the bulk of typical Autoconf use.  More below.

* Tim Rice wrote on Fri, Dec 18, 2009 at 08:27:28PM CET:
> 
> Ralf mentioned that 2.65 was released. Looks better that 2.64.
> Only 34 127 226 fail now.
> 
> I've attached the full log as well as the logs from
> env TESTSUITEFLAGS='-v -d -x 34 127 226' gmake -e check

> ## ----------------------------- ##
> ## GNU Autoconf 2.65 test suite. ##
> ## ----------------------------- ##
[...]
> uname -m = i386
> uname -r = 5
> uname -s = UnixWare
> uname -v = 7.1.4
> 
> /usr/bin/uname -p = x86at
> /bin/uname -X     = 
> System = UnixWare
> Node = server01
> Release = 5
> KernelID = 08/05/13
> Machine = Pentium 4 XEON
> BusType = ISA
> Serial = 3KJ007311
> Users = 25
> OEM# = 0
> Origin# = 1
> NumCPU = 2
[...]
> ## ------------------------ ##
> ## Summary of the failures. ##
> ## ------------------------ ##
> Failed tests:
> GNU Autoconf 2.65 test suite test groups:
> 
>  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
>       KEYWORDS
> 
>   34: tools.at:1127      autom4te preselections
>  127: autotest.at:397    Binary output
>       autotest
>  226: torture.at:1351    Deep Package
>       autoreconf

[...]
> 34. tools.at:1127: testing ...
> ./tools.at:1133: automake --version || exit 77
> stderr:
> stdout:
> automake (GNU automake) 1.10a
> Copyright (C) 2009 Free Software Foundation, Inc.
[...]
> ./tools.at:1134: test ! -f $HOME/.autom4te.cfg || exit 77
> stderr:
> stdout:
> ./tools.at:1150: aclocal || { ret=$?; test $ret -eq 63 && ret=77; exit $ret; }
> stderr:
> ./tools.at:1152: test -d autom4te.cache || exit 77
> ./tools.at:1153: autoconf
> 0a1,4
> > aclocal.m4:16: warning: this file was generated for autoconf 2.63.
> > You have another version of autoconf.  It may work, but is not guaranteed 
> > to.
> > If you have problems, you may need to regenerate the build system entirely.
> > To do so, use the procedure documented by the package, typically 
> > `autoreconf'.
> 34. tools.at:1127: 34. autom4te preselections (tools.at:1127): FAILED 
> (tools.at:1153)

This looks like you have the environment variable $AUTOM4TE set, or your
aclocal program is modified, or a wrapper script itsel.  Is any of that
the case?

The intention here is that aclocal uses the wrapper
$builddir/tests/autom4te for the newly-built $builddir/bin/autom4te
rather than some pre-installed older autom4te program.

I guess we should either skip the test if $AUTOM4TE is set, or even
better, just unset it; probably even globally in tests/atlocal.

Can you retry this test with the following patch?  Thanks.
  make check TESTSUITEFLAGS='-v -d -x 34'

Eric, OK to apply?

2010-01-11  Ralf Wildenhues  <ralf.wildenh...@gmx.de>

        Export AUTOM4TE in tests/atlocal.in, for aclocal.
        * tests/atlocal.in: Set and export $AUTOM4TE, for aclocal.
        Report by Tim Rice.

diff --git a/tests/atlocal.in b/tests/atlocal.in
index ae61fd5..cfd527a 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -41,3 +41,8 @@ if test "$ac_cv_dir_trailing_space" = yes; then
 else
   func_sanitize_dir_name () { echo "$@" | sed 's/  *$//'; }
 fi
+
+# AUTOM4TE might be set in the environment.  Override it here so that
+# direct aclocal invocations also use it.
+AUTOM4TE=autom4te
+export AUTOM4TE



> 127. autotest.at:397: testing ...
> ./autotest.at:397: autom4te --language=autotest -o micro-suite micro-suite.at
> ./autotest.at:397: $CONFIG_SHELL ./micro-suite 1-3
> stdout:
> ## --------------------------------------------------- ##
> ## GNU Nonsense 1.0 test suite: artificial test suite. ##
> ## --------------------------------------------------- ##
>   1: pass: no trailing newline                       ok
>   2: pass: non-printing characters                   ok
>   3: pass: long lines                                ok
> 
> ## ------------- ##
> ## Test results. ##
> ## ------------- ##
> 
> All 3 tests were successful.
> ./autotest.at:397: $CONFIG_SHELL ./micro-suite -v -x 1-3
> 0a1,2
> > ERROR: All 3 tests were run,
> > 1 failed unexpectedly.
> stdout:
> ## --------------------------------------------------- ##
> ## GNU Nonsense 1.0 test suite: artificial test suite. ##
> ## --------------------------------------------------- ##
> 1. micro-suite.at:2: testing ...
> /micro-suite.at:3: printf short
> 0a1
> > shortntf short
> stdout captured
> 1. micro-suite.at:2:  FAILED (micro-suite.at:3)
[...]
> > ## ------------------------ ##
> > ## Summary of the failures. ##
> > ## ------------------------ ##
> > Failed tests:
> > GNU Nonsense 1.0 test suite: artificial test suite test groups:
> > 
> >  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
> >       KEYWORDS
> > 
> >    1: micro-suite.at:2   pass: no trailing newline
> > 
> > ## ---------------------- ##
> > ## Detailed failed tests. ##
> > ## ---------------------- ##
> > 
> > #                             -*- compilation -*-
> > 1. micro-suite.at:2: testing ...
> > /micro-suite.at:3: printf short
> > 0a1
> > > shortntf short
> > stdout captured
> > 1. micro-suite.at:2: 1. pass: no trailing newline (micro-suite.at:2): 
> > FAILED (micro-suite.at:3)
> > 
> > 
> 127. autotest.at:397: 127. Binary output (autotest.at:397): FAILED 
> (autotest.at:397)

Apparently your shell has a bug with output not ending in a newline: it
appears that some string has not been suitably \0-terminated or so.

I'm not sure whether it is useful to let configure avoid such a shell,
but you might want to try
  make check TESTSUITEFLAGS='-v -d -x 127 CONFIG_SHELL=/bin/bash'

instead of using /bin/ksh, to see whether that makes the test pass.

> 226. torture.at:1351: testing ...
[...]
> ./torture.at:1426: PATH=.$PATH_SEPARATOR$PATH; export PATH; { configure 
> $configure_options --help=recursive; chmod u+w .; } | grep " INNERMOST "
> stderr:
> stdout:
>   INNERMOST   an innermost variable
> ./torture.at:1432: ./configure $configure_options INNERMOST=tsomrenni
> 0a1,2
> > ./config.status: line 500: syntax error at line 503: `<<' unmatched
> > configure: error: ./configure failed for inner
> stdout:
> configure: creating ./config.status
> === configuring in inner 
> (/usr/local/src/gnu/autoconf-2.65/tests/testsuite.dir/226/inner)
> configure: running /bin/ksh ./configure --disable-option-checking 
> '--prefix=/usr/local'  'INNERMOST=tsomrenni' --cache-file=/dev/null --srcdir=.
> configure: creating ./config.status
> ./torture.at:1432: exit code was 1, expected 0
> config.log:
[...]
> > configure:2468: === configuring in inner 
> > (/usr/local/src/gnu/autoconf-2.65/tests/testsuite.dir/226/inner)
> > configure:2531: running /bin/ksh ./configure --disable-option-checking 
> > '--prefix=/usr/local'  'INNERMOST=tsomrenni' --cache-file=/dev/null 
> > --srcdir=.
> > configure:2536: error: ./configure failed for inner
[...]
> 226. torture.at:1351: 226. Deep Package (torture.at:1351): FAILED 
> (torture.at:1432)

There seems to be some mismatch in here-document EOF marker handling, or
some other shell bug lingering here; _ASBOX is used as EOF marker both
for here-documents in configure, as well as for here-documents inside
config.status whose text already appears in configure here-documents.
Can you post
  /usr/local/src/gnu/autoconf-2.65/tests/testsuite.dir/226/inner/config.status

please?

Thanks,
Ralf


Reply via email to