[Python-Dev] Making "-j0" the default setting for the test suite?
Nick Coghlan
ncoghlan at gmail.com
Tue Jan 30 21:23:21 EST 2018
On 30 January 2018 at 02:39, Victor Stinner <victor.stinner at gmail.com> wrote:
>> * "-j1" would explicitly turn off multiprocessing
>
> Running tests "sequentially" but run them in one subprocess per test
> file is interesting for tests isolation. Runing tests one by one
> reduces the risk of triggering a race condition (test only failing
> when the system load is high).
>
> -jN was always documented as "use multiprocessing".
>
> Maybe we need a new option to explicitly disable multiprocessing instead?
>
> vstinner at apu$ ./python -m test
> Run tests sequentially
>
> vs
>
> vstinner at apu$ ./python -m test -j1
> Run tests in parallel using 1 child processes
Hmm, that's a good point.
Maybe a less intrusive alternative would be akin to what we did with
the configure script for non-optimised builds: when we display the
total duration at the end, append a note in the serial execution case.
Something like:
Total duration: 16 minutes 33 seconds (serial execution, pass
'-j0' for parallel execution)
Such a change would be a safe way to nudge new contributors towards
"./python -m test -j0" for faster local testing, without risking
backwards compatibility issues with existing test suite invocations in
other contexts.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
More information about the Python-Dev
mailing list