Merge "Add restart() method to DecayingTimer"
This commit is contained in:
commit
b0776c515d
@ -347,6 +347,9 @@ class DecayingTimer(object):
|
||||
def start(self):
|
||||
self._watch.start()
|
||||
|
||||
def restart(self):
|
||||
self._watch.restart()
|
||||
|
||||
def check_return(self, timeout_callback=None, *args, **kwargs):
|
||||
maximum = kwargs.pop('maximum', None)
|
||||
left = self._watch.leftover(return_none=True)
|
||||
|
@ -97,3 +97,17 @@ class TimerTestCase(test_utils.BaseTestCase):
|
||||
remaining = t.check_return(callback, 1, a='b')
|
||||
self.assertEqual(0, remaining)
|
||||
callback.assert_called_once_with(1, a='b')
|
||||
|
||||
@mock.patch('oslo_utils.timeutils.now')
|
||||
def test_reset(self, now):
|
||||
now.return_value = 0
|
||||
t = common.DecayingTimer(3)
|
||||
t.start()
|
||||
|
||||
now.return_value = 1
|
||||
remaining = t.check_return()
|
||||
self.assertEqual(2, remaining)
|
||||
|
||||
t.restart()
|
||||
remaining = t.check_return()
|
||||
self.assertEqual(3, remaining)
|
||||
|
Loading…
x
Reference in New Issue
Block a user