Revision c7d3a832 test/ganeti.utils.retry_unittest.py
b/test/ganeti.utils.retry_unittest.py | ||
---|---|---|
34 | 34 |
def setUp(self): |
35 | 35 |
testutils.GanetiTestCase.setUp(self) |
36 | 36 |
self.retries = 0 |
37 |
self.called = 0 |
|
37 | 38 |
|
38 | 39 |
@staticmethod |
39 | 40 |
def _RaiseRetryAgain(): |
... | ... | |
53 | 54 |
else: |
54 | 55 |
return True |
55 | 56 |
|
57 |
def _SimpleRetryAndSucceed(self, retries): |
|
58 |
self.called += 1 |
|
59 |
if self.retries < retries: |
|
60 |
self.retries += 1 |
|
61 |
return False |
|
62 |
else: |
|
63 |
return True |
|
64 |
|
|
56 | 65 |
def testRaiseTimeout(self): |
57 | 66 |
self.failUnlessRaises(utils.RetryTimeout, utils.Retry, |
58 | 67 |
self._RaiseRetryAgain, 0.01, 0.02) |
... | ... | |
112 | 121 |
else: |
113 | 122 |
self.fail("Expected RetryTimeout didn't happen") |
114 | 123 |
|
124 |
def testSimpleRetry(self): |
|
125 |
self.assertFalse(utils.SimpleRetry(True, lambda: False, 0.01, 0.02)) |
|
126 |
self.assertFalse(utils.SimpleRetry(lambda x: x, lambda: False, 0.01, 0.02)) |
|
127 |
self.assertTrue(utils.SimpleRetry(True, lambda: True, 0, 1)) |
|
128 |
self.assertTrue(utils.SimpleRetry(lambda x: x, lambda: True, 0, 1)) |
|
129 |
self.assertTrue(utils.SimpleRetry(True, self._SimpleRetryAndSucceed, |
|
130 |
0, 1, args=[1])) |
|
131 |
self.assertEqual(self.retries, 1) |
|
132 |
self.assertEqual(self.called, 2) |
|
133 |
self.called = self.retries = 0 |
|
134 |
self.assertTrue(utils.SimpleRetry(True, self._SimpleRetryAndSucceed, |
|
135 |
0, 1, args=[2])) |
|
136 |
self.assertEqual(self.called, 3) |
|
137 |
|
|
115 | 138 |
|
116 | 139 |
if __name__ == "__main__": |
117 | 140 |
testutils.GanetiTestProgram() |
Also available in: Unified diff