[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