Fix @retry

This commit is contained in:
2021-01-10 22:46:20 -05:00
parent 58d150279f
commit f914759b71
3 changed files with 38 additions and 8 deletions

27
test/test_retry.py Normal file
View File

@@ -0,0 +1,27 @@
from unittest import TestCase
from hexlib.db import VolatileState, VolatileBooleanState
from hexlib.misc import retry
class TestRetry(TestCase):
def test_simple(self):
@retry(attempts=3)
def a(i):
return i + 1
self.assertEqual(a(1), 2)
def test_error(self):
arr = []
def cb(e):
arr.append(e)
@retry(attempts=3, callback=cb)
def a(i):
raise Exception("err")
a(1)
self.assertEqual(3, len(arr))