mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-28 00:38:52 +00:00
Pass a time function instead of patching the global
This commit is contained in:
parent
6b7ea29d88
commit
32cd54501d
src/allmydata
@ -105,8 +105,7 @@ class Status(unittest.TestCase):
|
||||
ri.nextAttempt = 20
|
||||
ri.connectionInfo = ci
|
||||
rc = reconnector(ri)
|
||||
with mock.patch("time.time", return_value=12):
|
||||
cs = connection_status.from_foolscap_reconnector(rc, 5)
|
||||
cs = connection_status.from_foolscap_reconnector(rc, 5, time=lambda: 12)
|
||||
self.assertEqual(cs.connected, False)
|
||||
self.assertEqual(cs.summary,
|
||||
"Reconnecting in 8 seconds (last attempt 2s ago)")
|
||||
|
@ -16,6 +16,7 @@ if PY2:
|
||||
import time
|
||||
from zope.interface import implementer
|
||||
from ..interfaces import IConnectionStatus
|
||||
from foolscap.reconnector import Reconnector
|
||||
|
||||
@implementer(IConnectionStatus)
|
||||
class ConnectionStatus(object):
|
||||
@ -50,7 +51,7 @@ def _hint_statuses(which, handlers, statuses):
|
||||
non_connected_statuses["%s%s" % (hint, handler_dsc)] = dsc
|
||||
return non_connected_statuses
|
||||
|
||||
def from_foolscap_reconnector(rc, last_received):
|
||||
def from_foolscap_reconnector(rc: Reconnector, last_received: int, time=time.time) -> ConnectionStatus:
|
||||
ri = rc.getReconnectionInfo()
|
||||
# See foolscap/reconnector.py, ReconnectionInfo, for details about possible
|
||||
# states. The returned result is a native string, it seems, so convert to
|
||||
@ -80,7 +81,7 @@ def from_foolscap_reconnector(rc, last_received):
|
||||
# ci describes the current in-progress attempt
|
||||
summary = "Trying to connect"
|
||||
elif state == "waiting":
|
||||
now = time.time()
|
||||
now = time()
|
||||
elapsed = now - ri.lastAttempt
|
||||
delay = ri.nextAttempt - now
|
||||
summary = "Reconnecting in %d seconds (last attempt %ds ago)" % \
|
||||
|
Loading…
Reference in New Issue
Block a user