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.
