>From f2c18ffe38212751434b246d84c245e16c4dfd3d Mon Sep 17 00:00:00 2001 Message-Id: From: Stefano Lattarini Date: Tue, 10 Jul 2012 15:29:57 +0200 Subject: [PATCH] tests: avoid spurious TAP errors on Mac OS X 10.7 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. * THANKS: Update. Signed-off-by: Stefano Lattarini --- THANKS | 1 + t/suffix10.tap | 13 ++++++++++++- t/suffix8.tap | 14 +++++++++++++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/THANKS b/THANKS index 01b78c1..afdd33a 100644 --- a/THANKS +++ b/THANKS @@ -245,6 +245,7 @@ Matthew D. Langston address@hidden Matthias Andree address@hidden Matthias Clasen address@hidden Matthias Klose address@hidden +Max Horn address@hidden Maxim Sinev address@hidden Maynard Johnson address@hidden Merijn de Jonge address@hidden diff --git a/t/suffix10.tap b/t/suffix10.tap index a650924..7e19e04 100755 --- a/t/suffix10.tap +++ b/t/suffix10.tap @@ -57,11 +57,22 @@ cat > foo.x_ << 'END' 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 diff --git a/t/suffix8.tap b/t/suffix8.tap index fdaf087..87d6530 100755 --- a/t/suffix8.tap +++ b/t/suffix8.tap @@ -75,11 +75,23 @@ END 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. +run_configure () +{ + st=0; ./configure >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" run_configure command_ok_ "make test0" env OBJEXT=foo $MAKE -e test0 command_ok_ "make test1" $MAKE test1 -- 1.7.9.5