Hi Russell,
The way to do this is to pass the reactor as a parameter, and use a Clock instead of the regular parameter for unit testing purposes. See also: https://twistedmatrix.com/documents/current/core/howto/trial.html ; that has a complete example of how to write unit tests that use Clock. That way your unit tests will be fast, deterministic, and also very clean :-) hth lvh On Thu, Mar 13, 2014 at 10:09 PM, Russell E. Owen <ro...@uw.edu> wrote: > Is there a simple way to cancel all Twisted timers (pending > reactor.callLater calls)? > > The reason I want to do this is to clean up a unit test without getting > "dirty reactor" complaints. > > The system is a server that will rarely be shut down and does not have > to shut down gracefully (i.e. I don't care if the reactor is dirty). But > I want the unit tests to run cleanly, so for now I've been keeping a > reference to each timer that I start, so my test cleanup code can > manually cancel it. It's a lot of fuss, and makes timers harder to use > than they should be. I admit that in many cases I need a reference to > the timer anyway, since I may have to cancel it for reasons that matter > to the server. But I hate having to do it for *every* timer. If there > was a simple way to tell the reactor to cancel any outstanding > "callLater" calls, the code would be much cleaner. > > > -- Russell > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python