[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9245: FreeBSD make in concurrent mode report spurious success in aut
bug#9245: FreeBSD make in concurrent mode report spurious success in automake-generated tests harness
Thu, 18 Aug 2011 21:42:32 +0200
KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )
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:
> 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
> > 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.
I've pushed the patch now, with the additional squash-in below. I'm closing
this bug report.
diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in
index 2f553ed..17a2002 100644
@@ -405,7 +405,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std"; \
+ $$exit || exit 1
# Run all the tests.