GNU bug report logs -
#9245
FreeBSD make in concurrent mode report spurious success in automake-generated tests harness
Previous Next
Full log
Message #42 received at 9245-done <at> debbugs.gnu.org (full text, mbox):
On Tuesday 16 August 2011, Stefano Lattarini wrote:
> On Friday 12 August 2011, Stefano Lattarini wrote:
> > OK, the attached hacky patch seems to fix the bug.
> >
> LOL no, there was an embarassingly stupid error in my patch:
>
> diff --git a/lib/am/check.am b/lib/am/check.am
> index 0b54312..75f8bba 100644
> --- a/lib/am/check.am
> +++ b/lib/am/check.am
> @@ -224,7 +224,9 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
> col="$$red"; \
> fi; \
> echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std"; \
> - $$exit
> +## The apparently redundant and repeated "exit 1" works around a bug in
> +## FreeBSD make (present only when running in concurrent mode).
> + $$exit || (exit 1); exit 1
>
> This obviously causes the `check' target to exit unconditionally with a
> non-zero exit status. Hardly a fix for anything, sigh.
>
> The "proper fix" is even easier BTW: just use "$$exit || exit 1" instead.
>
> The updated patch should now work (and I've tested it properly this time).
> This new patch hasn't been derived by "cargo-cult guessing", but from the
> explanation of the relevant FreeBSD make bug provided by Jilles Tjoelker:
> <http://www.freebsd.org/cgi/query-pr.cgi?pr=159730>
>
> Now that's something to be documented in the Autoconf manual I'd say ...
>
BTW, done with commit v2.68-84-g96cdf32 "docs: other issues with parallel BSD
make"; see:
<http://lists.gnu.org/archive/html/autoconf-patches/2011-08/msg00013.html>
> > I have no idea why
> > exactly it is so yet, so we might want to wait to apply the patch until
> > we have fully understood the reasons of the original failure,
> >
> Glad I've waited this time! And I will allow another couple of days for
> comments and suggestions before pushing.
>
> Regards,
> Stefano
>
I've pushed the patch now, with the additional squash-in below. I'm closing
this bug report.
Regards,
Stefano
-*-*-
diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in
index 2f553ed..17a2002 100644
--- a/lib/Automake/tests/Makefile.in
+++ b/lib/Automake/tests/Makefile.in
@@ -405,7 +405,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
col="$$red"; \
fi; \
echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std"; \
- $$exit
+ $$exit || exit 1
# Run all the tests.
check-TESTS:
This bug report was last modified 13 years and 335 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.