Skip to content

Commit 1b86197

Browse files
committed
PYTHON-5784 Add update_interval() coverage
Add test_update_interval_changes_next_wait: shorten the interval during the first run and assert the next run happens promptly (rather than after the original 30s), exercising update_interval() on both executors.
1 parent ed74e33 commit 1b86197

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

test/asynchronous/test_periodic_executor.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,23 @@ async def target():
110110
await executor.join(timeout=3)
111111
self.assertGreaterEqual(call_count, 2)
112112

113+
async def test_update_interval_changes_next_wait(self):
114+
call_times = []
115+
116+
async def target():
117+
call_times.append(time.monotonic())
118+
if len(call_times) == 1:
119+
# Shorten the interval from 30s so the next run happens promptly.
120+
executor.update_interval(0)
121+
return True
122+
return False
123+
124+
executor = self._make_executor(interval=30.0, min_interval=0.01, target=target)
125+
executor.open()
126+
await executor.join(timeout=3)
127+
self.assertGreaterEqual(len(call_times), 2)
128+
self.assertLess(call_times[1] - call_times[0], 5.0)
129+
113130
async def test_open_after_target_returns_false(self):
114131
called = 0
115132

test/test_periodic_executor.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,23 @@ def target():
110110
executor.join(timeout=3)
111111
self.assertGreaterEqual(call_count, 2)
112112

113+
def test_update_interval_changes_next_wait(self):
114+
call_times = []
115+
116+
def target():
117+
call_times.append(time.monotonic())
118+
if len(call_times) == 1:
119+
# Shorten the interval from 30s so the next run happens promptly.
120+
executor.update_interval(0)
121+
return True
122+
return False
123+
124+
executor = self._make_executor(interval=30.0, min_interval=0.01, target=target)
125+
executor.open()
126+
executor.join(timeout=3)
127+
self.assertGreaterEqual(len(call_times), 2)
128+
self.assertLess(call_times[1] - call_times[0], 5.0)
129+
113130
def test_open_after_target_returns_false(self):
114131
called = 0
115132

0 commit comments

Comments
 (0)