[llvm-bugs] [Bug 24709] dotest.py parallel mode does not gracefully quit with ^C

via llvm-bugs llvm-bugs at lists.llvm.org
Tue Sep 8 15:30:49 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=24709

Todd Fiala <todd.fiala at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Todd Fiala <todd.fiala at gmail.com> ---
Addressed with this commit:

Sending        test/dosep.py
Sending        test/dotest.py
Sending        test/dotest_args.py
Transmitting file data ...
Committed revision 247084.

dotest.py's parallel test runner now has selectable test runner strategies. 
The strategy can be overridden with the --test-runner-name argument.  The
defaults are 'multiprocessing' for all platforms except Windows, and
'multiprocessing-pool' for Windows.  The default changes if a --threads 1 is
specified, in which case it uses a serial strategy that only executes one test
at a time in isolation.  So 'dotest.py --threads 1' performs the same function
as 'dosep.py' (or dosep.ty for those who remember) prior to late 2013.

Both the 'multiprocessing' and 'threading' strategies support Ctrl-C breaking
out of a parallel run (as should the 'serial' non-parallel runner).  None of
the other parallel test runner strategies support Ctrl-C, as they are based on
pre-baked Pool implementations that look like they prevent proper handling of
Ctrl-C (and this also appears to break Windows).

The first Ctrl-C drains the follow-up work queue, but allows the existing
workers finish their work in progress.  The second Ctrl-C kills all inferior
dotest.py processes, effectively stopping immediately.  In both cases, the work
already reported is preserved and passed on to the user.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150908/af2e75f8/attachment.html>


More information about the llvm-bugs mailing list