[Lldb-commits] [PATCH] D12651: Add ctrl-c support to parallel dotest.py.

Todd Fiala via lldb-commits lldb-commits at lists.llvm.org
Sat Sep 5 12:38:39 PDT 2015


tfiala added a subscriber: dawn.
tfiala updated this revision to Diff 34112.
tfiala added a comment.

The latest patch does the following:

- adds a test runner strategy layer for the isolated, concurrent test support (in dosep.py).

The currently-supported test runners are:

1. multiprocessing

This is a multiprocessing-based parallel test runner that supports ctrl-c through rolling its own worker pool.  This one is known to currently have an issue on Windows.

2. multiprocessing-pool

This one is exactly like what previously existed - multiprocessing based using multiprocessing.Pool() to do the work.  It does not handle Ctrl-C at all (and performs poorly, just like before, when the user does press Ctrl-C).

3. serial

This one is the same test runner used that does no concurrent test running but does use subprocess to provide process isolation to each of the test suite files.

It is not expected that a user specify test-runner-name: sane defaults are provided.  The defaults used when no test runner name is given are:

- Use serial if the number of threads determined to be used is 1.  (Likely due to the --threads argument on modern hardware).
- If the os.name is 'nt', use multiprocessing-pool.
- Otherwise, use multiprocessing.

@Zachary - this should provide the net result of 'no behavior change' on Windows.  If you have a chance to verify that with no special options, that'd be great.

Note I plan to make one more change to add in the threading-based test runner before I'm totally done here, so this is just WIP.  Zachary, if you want to wait for the "threading" test runner, that seems reasonable.  I hope to have that diff in later today.

@Dawn, I did add in the logic that says 'if you specify -v and using the dosep-style test runner, assume --output-on-success is specified.


http://reviews.llvm.org/D12651

Files:
  test/dosep.py
  test/dotest.py
  test/dotest_args.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12651.34112.patch
Type: text/x-patch
Size: 20154 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20150905/8359cb74/attachment-0001.bin>


More information about the lldb-commits mailing list