Skip to content

Commit a662bbb

Browse files
authored
Respects min argument for wait_random_exponential (#425)
* Respects `min` argument for wait_random_exponential * Update test_tenacity.py * Update test_tenacity.py * Update test_tenacity.py
1 parent 31fe2d0 commit a662bbb

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
fixes:
3+
- |
4+
Respects `min` arg for `wait_random_exponential`

tenacity/wait.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ class wait_random_exponential(wait_exponential):
197197

198198
def __call__(self, retry_state: "RetryCallState") -> float:
199199
high = super().__call__(retry_state=retry_state)
200-
return random.uniform(0, high)
200+
return random.uniform(self.min, high)
201201

202202

203203
class wait_exponential_jitter(wait_base):

tests/test_tenacity.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,9 +472,17 @@ def test_wait_random_exponential(self):
472472
self._assert_inclusive_range(fn(make_retry_state(8, 0)), 0, 60.0)
473473
self._assert_inclusive_range(fn(make_retry_state(9, 0)), 0, 60.0)
474474

475-
fn = tenacity.wait_random_exponential(10, 5)
475+
# max wait
476+
max_wait = 5
477+
fn = tenacity.wait_random_exponential(10, max_wait)
476478
for _ in range(1000):
477-
self._assert_inclusive_range(fn(make_retry_state(1, 0)), 0.00, 5.00)
479+
self._assert_inclusive_range(fn(make_retry_state(1, 0)), 0.00, max_wait)
480+
481+
# min wait
482+
min_wait = 5
483+
fn = tenacity.wait_random_exponential(min=min_wait)
484+
for _ in range(1000):
485+
self._assert_inclusive_range(fn(make_retry_state(1, 0)), min_wait, 5)
478486

479487
# Default arguments exist
480488
fn = tenacity.wait_random_exponential()

0 commit comments

Comments
 (0)