[Twisted-Python] Trial: State of the Union

Jonathan Lange jml at mumak.net
Mon Apr 10 06:47:27 MDT 2006


Hello All,

I've recently merged a branch that removes twisted.trial.util.wait
along with all uses of wait() from our tests (paypal details below
;)). Thought it might be a good time to let people know what I'm
thinking with Trial. (By the way, thanks very much to everyone who
helped with that branch.)

There are four major changes / refactorings that I am planning on seeing done:

1. Become a real Twisted application
(http://twistedmatrix.com/trac/wiki/TrialDevNotes)
Essentially, make Trial's TestSuite expect tests to return Deferreds. 
More at the reference.

2. Trial Reactor (http://twistedmatrix.com/trac/ticket/1334)
Jp has indicated that this is the best way for Trial to do cleanup
after each test.

3. Log Sanity (http://twistedmatrix.com/trac/ticket/1409)
Rather than using log._startKeepingErrors or whatever it is called,
use a log observer to keep logged errors and report them as errors
when the test is done.  Provide APIs for altering the list of errors
that have been logged in the test.

4. Split up TestCase
Ideally, I'd like to split out the special case stuff in TestCase that
handles TestCase subclasses that use setUpClass.

I'm intending to work on 1 at the sprint. However, I think we need to
remove the remaining reactor.iterate calls for it to work.

All of these changes involve non-trivial refactoring and should make
Trial less bad.  Once they are made, my role as maintainer will
(hopefully!) slip into fixing bugs, improving docs and adding features
that I'm excited about.

How you can help:
- Money doesn't help so much. If you want, you can buy me curry. Or a
gym membership, to work off all that curry. Paypal is jml at mumak.net.
There are probably better ways you could help Twisted with your money.
- Pairing helps a lot. Come to Tassie.
- Remove calls to reactor.iterate()
- Help me do 2.

cheers,
jml




More information about the Twisted-Python mailing list