summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--retrying.py5
-rw-r--r--test_retrying.py4
2 files changed, 6 insertions, 3 deletions
diff --git a/retrying.py b/retrying.py
index b337744..0efd112 100644
--- a/retrying.py
+++ b/retrying.py
@@ -237,7 +237,10 @@ class Retrying(object):
delay_since_first_attempt_ms = int(round(time.time() * 1000)) - start_time
if self.stop(attempt_number, delay_since_first_attempt_ms):
- raise RetryError(attempt)
+ if not self._wrap_exception and attempt.has_exception:
+ raise attempt.get()
+ else:
+ raise RetryError(attempt)
else:
sleep = self.wait(attempt_number, delay_since_first_attempt_ms)
time.sleep(sleep / 1000.0)
diff --git a/test_retrying.py b/test_retrying.py
index eb2b10e..c163c41 100644
--- a/test_retrying.py
+++ b/test_retrying.py
@@ -311,7 +311,7 @@ class TestDecoratorWrapper(unittest.TestCase):
print(n)
try:
- _retryable_test_with_exception_type_io_attempt_limit(NoIOErrorAfterCount(5))
+ _retryable_test_with_exception_type_io_attempt_limit_wrap(NoIOErrorAfterCount(5))
self.fail("Expected RetryError")
except RetryError as re:
self.assertEqual(3, re.last_attempt.attempt_number)
@@ -331,7 +331,7 @@ class TestDecoratorWrapper(unittest.TestCase):
print(n)
try:
- _retryable_test_with_exception_type_custom_attempt_limit(NoCustomErrorAfterCount(5))
+ _retryable_test_with_exception_type_custom_attempt_limit_wrap(NoCustomErrorAfterCount(5))
self.fail("Expected RetryError")
except RetryError as re:
self.assertEqual(3, re.last_attempt.attempt_number)