[Twisted-Python] Blocking on deferreds during unit tests (e.g. deferredResult)

Christopher Armstrong radeex at gmail.com
Fri May 6 21:24:07 MDT 2005


On 5/7/05, Glyph Lefkowitz <glyph at divmod.com> wrote:
> Eric Mangold wrote:
> > I'm starting a new thread on this because It's very important to me,
> > and  we need to have some kind of resolution on this issue.
> 
> > Is there a better way to synchronously spin the reactor until a
> > deferred  fires?
> 
> Yep.  Write a unit test framework that uses Stackless and create a
> tasklet for each deferred that you want to run.

I'd suggest 1) not writing a unit test framework, and instead using
trial, and 2) instead of using stackless, use greenlet + my
gthreadless module that integrates greenlets and Deferreds
(sandbox/radix/gthreadless.py).

Alternatively, if you don't want to use greenlet, as Bob said, just
use deferred generators
(twisted.internet.defer.{deferredGenerator,waitForDeferred}).

HTH, HAND :-)

-- 
  Twisted   |  Christopher Armstrong: International Man of Twistery
   Radix    |    -- http://radix.twistedmatrix.com
            |  Release Manager, Twisted Project
  \\\V///   |    -- http://twistedmatrix.com
   |o O|    |  Founding Member, Hobart Hacking Society
w----v----w-+    -- http://hackingsociety.org/chapters/hash




More information about the Twisted-Python mailing list