Fixes automake bug#1897. Reported by Max Horn.
* t/suffix8.tap: The libtool bug#11895 was causing the ./configure script
to output a stray "ok" string on a line of its own, confusing the TAP
driver into thinking this was an extra test result (which resulted in the
next, real test results being flagged as "OUT-OF-ORDER"). Fix this by
protecting configure output.
* t/suffix10.tap: Likewise, and for the "make distcheck" output as well.
* THANKS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Matthias Andree matthias.andree@gmx.de
Matthias Clasen clasen@mathematik.uni-freiburg.de
Matthias Klose doko@ubuntu.com
+Max Horn max@quendi.de
Maxim Sinev good@goods.ru
Maynard Johnson maynardj@us.ibm.com
Merijn de Jonge M.de.Jonge@cwi.nl
int foo (void) { return yyparse(); }
END
+# We must protect the TAP driver from the output of configure, since
+# that might output a stray "ok" on a line of its own (due to a
+# libtool bug on Mac OS X), thus causing a spurious test result to
+# be seen. See automake bug#11897.
+run_configure ()
+{
+ st=0; ./configure >output 2>&1 || st=1
+ sed 's/^/ /' output
+ test $st -eq 0
+}
+
command_ok_ "libtoolize" libtoolize --force
command_ok_ "aclocal" $ACLOCAL
command_ok_ "autoconf" $AUTOCONF
command_ok_ "automake" $AUTOMAKE --add-missing
-command_ok_ "configure" ./configure
+command_ok_ "configure" run_configure
command_ok_ "make test" $MAKE test
directive=''; make_can_chain_suffix_rules || directive=TODO
echo 'int main (void) { return 0; }' > foo.x_
echo 'int bar (void) { return 0; }' > bar.x_
+# We must protect the TAP driver from the output of configure, since
+# that might output a stray "ok" on a line of its own (due to a
+# libtool bug on Mac OS X), thus causing a spurious test result to
+# be seen. See automake bug#11897.
+protect_output ()
+{
+ st=0; "$@" >output 2>&1 || st=1
+ sed 's/^/ /' output
+ test $st -eq 0
+}
+
command_ok_ "libtoolize" libtoolize
command_ok_ "aclocal" $ACLOCAL
command_ok_ "autoconf" $AUTOCONF
command_ok_ "automake" $AUTOMAKE -a
-command_ok_ "configure" ./configure
+command_ok_ "configure" protect_output ./configure
command_ok_ "make test0" env OBJEXT=foo $MAKE -e test0
command_ok_ "make test1" $MAKE test1
for target in test2 all distcheck; do
command_ok_ "make $target" \
-D "$directive" -r "suffix rules not chained" \
- $MAKE $target
+ protect_output $MAKE $target
done
: