[Python-Dev] Making "-j0" the default setting for the test suite?

Nick Coghlan ncoghlan at gmail.com
Mon Jan 29 01:03:22 EST 2018


On 29 January 2018 at 14:43, Guido van Rossum <guido at python.org> wrote:
> So why can't you just run "make test" if that's faster?

I can (and do), but I also run it the other way if I need to pass
additional options. I'll then notice that I forgot -j0, ctrl-C out,
then run it again with -j0.

That's a minor irritation for me, but for folks that don't already
know about the -j0 option, they're more likely to just go "CPython's
test suite is annoyingly slow".

To provide a bit more detail on what I'd suggest we do:

* "-j1" would explicitly turn off multiprocessing
* "-j0" and "-jN" (N >= 2) would explicitly request multiprocessing
and error out if there's a conflicting flag
* not setting the flag would be equivalent to "-j0" by default, but
"-j1" if a conflicting flag was set

The testing options that already explicitly conflict with the
multiprocessing option are:

* -T (tracing)
* -l (leak hunting)

"-j1" would likely also be a better default when the verbosity flags
are set (since the output is incredibly hard to read if you have
multiple verbose tests running in parallel).

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list