nose-devs/nose2 — pull request #29 by jpellerin (2012-02-21 14:53:22+00:00)
Title: Multiprocessing plugin

*Please squash on merge*

Here's my take on a multiprocessing plugin for nose2. The basic theory of operation is that the tests are dispatched to processes by name (same as nose) and grouped according to their fixture level (again, same as nose), then events are returned to the main process to be replayed. Plugins have the choice to run in the subprocesses or not (default is "not"), and those that do get events when subprocesses start and stop. Events recorded during test execution in the subprocess are sent back to the main process to be replayed. So plugins that just want to report on test outcomes, etc, don't even need to know they are running under mp to work (unless they examine tracebacks in detail, since tracebacks come back formatted, by necessity), and other plugins should be able to do what they need to do to run (or disable themselves) in subprocesses.

I'm really reluctant to merge this without feedback so if you're interested in nose2 or multiprocessing please try it out, read through, and comment.

If you want to read the docs in a formatted fashion, they are here: http://jpellerin.github.com/nose2/plugins/mp.html

cc @memedough -- if possible can try this out and see if the new hooks etc are enough to support your coverage plugin? If not, what's missing?