diff options
-rw-r--r-- | retrying.py | 5 | ||||
-rw-r--r-- | test_retrying.py | 4 |
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) |