On 24/07/2023 16:50, ASSI via Cygwin-apps wrote:
ASSI via Cygwin-apps writes:
I've recently updated a few packages that do a serious amount of
compilation during test and it became painfully obvious that cygtest
does not run make with the "-j" option nor does it currently offer an
option to change that.

Given the brittleness of some test suites it might be prudent to keep
the default "serial" for a while and in any case not confound it with
the option of doing the build in parallel.  So the suggestion is to add
a variable MAKETESTOPTS following along MAKEOPTS example to be used in
cygport files.  I would also suggest to add a command-line option "-jt"
/ "--jobs-test" or some other suitable name plus a configuration option
for cygportrc that when set causes cygport to populate MAKETESTOPTS with
the same default as MAKEOPTS and otherwise leave it empty (keep the
current default of "serial" make).

POC:
https://repo.or.cz/cygport/rpm-style.git/commitdiff/3756290fd1de63e0514aa71eaca62569eb3a782a

I'm not sure we need to go through these hoops to keep 'make check' working on old cygports which assume that the make will not be parallelized.

We didn't stop just totally ignoring the result of 'make check' until fairly recently (e31cdc53b87b097865cb70539be85c8ee16c6431).

So maybe just add MAKEOPTS to the 'make check' invocation, and going forwards cygports where parallelizing the test suite fails should use an explicit MAKEOPTS+=" -j1" ?

(Your POC also doesn't apply the parallelization factor to other test backends e.g. ninja - are they ok, or do they also need attention?)

Reply via email to