I've read the whole thread to date but thought I'd reply here...
Benji York wrote:
I'm working on making the zope.testing test runner run tests in
parallelized subprocesses. The option will likely be spelled -j N,
where N is the maximum number of processes.
But please defauult to 1 for backwards compatability...
I'd like to 1) remove the layer tear-down mechanism entirely, and 2)
make (almost) all layers run in a subprocess.
-lots to both of these I'm afraid.
I've used tear-downs extensively for everything from shutting database
connections to aborting transactions to dumping DemoStorages. I'm sure
I'm not the only one..
As for all layers in a sub-process, I worry that this would break
existing tests in some kind of horrible nasty way...
I want to do #1 because it would simplify the test runner code and no
one seems to be using the functionality anyway. It also appears from
reading the code that any tests run in a subprocess (and most are) will
never exercise the tear-down mechanism anyway.
So I guess we're not currently running tests in a sub-process?
My take on the pre-refactor testrunner was that a sub-process was only
used when the testrunner was testing itself?
#2 will add some process start-up overhead, but it'll only be one more
process than is already started (and any reasonably-sized test corpus
already starts several processes for each test run). The one exception
is for running with -D or with a pdb.set_trace() embedded in the code
under test. For that case we need a switch to say "don't start any
subprocesses at all", I suspect that will be spelled -j0.
Right, I use this a lot. I guess -j0 should be the default for backwards
Simplistix - Content Management, Zope & Python Consulting
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -