[Zope-dev] Test runner: layers, subprocesses, and tear down

Christian Theune ct at gocept.com
Thu Jul 3 17:37:13 EDT 2008


On Thu, 2008-07-03 at 17:22 -0400, 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.
> 
> I have it basically working, but have noticed a couple odd corners of
> the test runner that I'd like to clean up.  They may be controversial,
> so I'll ask about them here first.
> 
> I'd like to 1) remove the layer tear-down mechanism entirely, and 2)
> make (almost) all layers run in a subprocess.
> 
> 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.

+1 in general but -1 on removing the tear down functionality. We use it
to destroy external databases that where generated for setup.

> #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.

+1 as well. I'm actually wondering whether we might be able to control
the pdb through a sub-process.

> For motivation, some speed comparisons: running a particular test suite
> with 3876 tests (mostly doctests, and mostly functional) without the
> patch takes 6 minutes, 42 seconds; my branch runs the same tests in 3
> minutes and 22 seconds (give or take) on a dual-core box with 3
> simultaneous subprocesses.

Yay!

-- 
Christian Theune · ct at gocept.com
gocept gmbh & co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://mail.zope.org/pipermail/zope-dev/attachments/20080703/bf1b3e89/attachment-0001.bin


More information about the Zope-Dev mailing list