On Thu, Oct 1, 2015 at 1:40 PM, Mashiat Sarker Shakkhar < mashiat.sar...@gmail.com> wrote:
> Hi > > I have a function that uses callLater extensively to schedule a number of > different tasks. I don't want to get into the rationale behind such a > design, but here is a contrived example which will help me explain my > problem: > > > def b(): > > '''Do some work''' > > > def c(): > > '''Do some more work''' > > > def a(flag): > > if flag: > > return Reactor.callLater(300, b) > > else: > > return Reactor. callLater(100, c) > > > Now I want to test this function. Of course I can't wait for 5 minutes to > ensure that `b` or `c` will indeed be called. What I need is some sort of > mock clock which lets me fast forward time. Does any such thing exist in > Twisted / Trial? > Yes there is! `MemoryReactorClock.advance` https://twistedmatrix.com/documents/current/api/twisted.test.proto_helpers.MemoryReactorClock.html does this for you. An example usage can be seen in the tests for `HostnameEndpoint` https://github.com/twisted/twisted/blob/trunk/twisted/internet/test/test_endpoints.py#L2064 -Ashwini > Or is there any other approach to test such code? > > > Regards > > Shakkhar > > _______________________________________________ > 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