In article <5006fc68.8050...@itamarst.org>, Itamar Turner-Trauring <ita...@itamarst.org> wrote:
> On 07/18/2012 01:01 PM, Russell E. Owen wrote: > > I have a bit of code that combines twisted with Tkinter > > and now I'd like to write some unittests for it. > > > > I can't seem to figure out how to get TwistedTrial to handle this case. > > I've written a unit test like this: > > > > from twisted.trial import unittest > > from twisted.internet.defer import Deferred > > import twisted.internet.tksupport > > root = Tkinter.Tk() > > twisted.internet.tksupport.install(root) > > from twisted.internet import reactor > > > > class TestTkSocket(unittest.TestCase): > > def test...(...): > > .... > > > > the one test so far returns a deferred and calls errback on that > > deferred if the test fails, and callback if it succeeds. When I run the > > unit test with trial I get this error error: > > twisted.trial.util.DirtyReactorAggregateError > > The problem is that setting up tk support involves a repeatedly > scheduled event, which means it's in the reactor causing that warning. > Make sure you call tksupport.uninstall() at the end of each test, by > either putting in tearDown or doing self.addCleanup(tksupport.uninstall). I put tksupport.install(root) in the setUp and tksupport.uninstall() in the tearDown and it worked perfectly. Thank you very much. I'm thrilled to be able to run these unit tests. -- Russell _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python