[Twisted-Python] Re: [Twisted-commits] r15230 - Merge of jml/trial-deferred-logic -r15183:15229. Resolves #1341.

Jonathan Lange jml at mumak.net
Tue Nov 29 21:09:30 EST 2005


On 29/11/05, Jean-Paul Calderone <exarkun at divmod.com> wrote:
> On Sun, 27 Nov 2005 23:35:45 -0700, Jonathan Lange <jml at wolfwood.twistedmatrix.com> wrote:
> >Author: jml
> >Date: Sun Nov 27 23:35:45 2005
> >New Revision: 15230
> >
> >
>
> The Gtk reactor can no longer complete the test suite: http://twistedmatrix.com/buildbot/reactors/builds/884/step-gtk/0
>
> On my machine, the suite hangs in twisted.web.test.test_webclient.CookieTestCase.testNoCookies, but it seems to die in twisted.test.test_tcp.HalfClose2TestCase.testNoNotification on buildbot every time.  This may just be a race (or several races) going different ways on a somewhat reliable fashion on the different hardware.
>
> It seems like the remaining reactor.iterate() calls are the likely cause of this?
>

For the record, the branch has been reverted, and I'm working on
fixing the hanging tests.  The problems *so far* appear to be caused
by reactor.runUntilCurrent being re-entered.  Not certain that they
are race conditions.  The difference in results may be due to running
the tests in different orders.

Perhaps runUntilCurrent should check for re-entry and raise some sort
of exception?

If you maintain code in Twisted, even nominally, then *now* is the
time to start cleaning up your tests.  Calls to reactor.iterate,
util.spinUntil, util.spinWhile and util.wait from within tests cannot
be supported if Trial is ever going to behave sanely.[1]  If you are
uncertain, check the tracker.

cheers,
jml

[1] As I understand it.  I am no reactrologist.




More information about the Twisted-Python mailing list