[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: parallel make issues
From: |
Jim Meyering |
Subject: |
Re: parallel make issues |
Date: |
Thu, 26 Jan 2012 10:26:30 +0100 |
Pádraig Brady wrote:
> There are some issues with the following,
> with sometimes tests being skipped and/or
> sometimes output being misaligned.
>
> (cd tests && make -j2 check TESTS="misc/stty misc/stdbuf
> misc/stat-birthtime misc/stty-row-col" VERBOSE=yes)
>
> That's because gnu make in parallel mode, will give a single
> one of its worker processes the controlling tty.
> Also if misc/stty does actually run, the fact
> that it messes with the current tty, breaks the
> output alignment at least.
>
> This isn't a major issue really.
> and I'm not sure how to address it.
>
> Perhaps we could split the "tty" tests,
> to a separate Makefile containing .NOTPARALLEL ?
I'd rather not do that, preferring to move to fewer "make"
invocations, not more. In case you didn't see it, check
out my recent cppi-1.16 release. Now, when you build there,
like bison, it does not use recursive "make" (except for po/).
I liked what bison did, generalized their etc/prefix-gnulib-mk
and applied the same techniques to cppi as a proof of concept.
The many added "tests/" prefixes in tests/local.mk are ugly,
but so far I haven't found a way to apply that prefix in a
way that automake understands. I.e., TESTS = $(patsubst %,tests/%,$(t))
is fine with GNU make, but autoconf needs to know the expansion.
I can add a suffix with $(var:=/suffix), which automake groks,
but that's not a prefix.
> Perhaps we could make them actually support parallel mode,
> by using expect or something?
I'm happy to let the tests skip when necessary, or
even to disrupt parallel build output a little, but if
we fix it, using expect or python/perl-expect would be
my preference.