| Server IP : 61.19.30.66 / Your IP : 216.73.216.15 Web Server : Apache/2.2.22 (Ubuntu) System : Linux klw 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64 User : www-data ( 33) PHP Version : 5.3.10-1ubuntu3.48 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/share/pyshared/twisted/test/ |
Upload File : |
# Copyright (c) Twisted Matrix Laboratories.
# See LICENSE for details.
"""
Helper class to writing deterministic time-based unit tests.
Do not use this module. It is a lie. See L{twisted.internet.task.Clock}
instead.
"""
import warnings
warnings.warn(
"twisted.test.time_helpers is deprecated since Twisted 10.0. "
"See twisted.internet.task.Clock instead.",
category=DeprecationWarning, stacklevel=2)
class Clock(object):
"""
A utility for monkey-patches various parts of Twisted to use a
simulated timing mechanism. DO NOT use this class. Use
L{twisted.internet.task.Clock}.
"""
rightNow = 0.0
def __call__(self):
"""
Return the current simulated time.
"""
return self.rightNow
def install(self):
"""
Monkeypatch L{twisted.internet.reactor.seconds} to use
L{__call__} as a time source
"""
# Violation is fun.
from twisted.internet import reactor
self.reactor_original = reactor.seconds
reactor.seconds = self
def uninstall(self):
"""
Remove the monkeypatching of L{twisted.internet.reactor.seconds}.
"""
from twisted.internet import reactor
reactor.seconds = self.reactor_original
def adjust(self, amount):
"""
Adjust the current simulated time upward by the given C{amount}.
Note that this does not cause any scheduled calls to be run.
"""
self.rightNow += amount
def pump(self, reactor, timings):
"""
Iterate the given C{reactor} with increments of time specified
by C{timings}.
For each timing, the simulated time will be L{adjust}ed and
the reactor will be iterated twice.
"""
timings = list(timings)
timings.reverse()
self.adjust(timings.pop())
while timings:
self.adjust(timings.pop())
reactor.iterate()
reactor.iterate()