https://github.com/python/cpython/commit/78790811989ab47319e2ee725e0c435b3cdd21ab
commit: 78790811989ab47319e2ee725e0c435b3cdd21ab
branch: main
author: Diego Russo <[email protected]>
committer: colesbury <[email protected]>
date: 2025-03-07T16:10:02-05:00
summary:
gh-130917: update timer and workload in test_signal (#130918)
The workload to advance the virtual timeout is too lightweight for some
platforms. As result the test goes in timeout as it never reaches the
end of the timer. By having a heavier workload, the virtual timer
advances rapidly and the SIGVTALRM is sent before the timeout.
files:
M Lib/test/test_signal.py
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index 72a01cd1e451f4..1497a98f9e6554 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -838,11 +838,11 @@ def test_itimer_real(self):
def test_itimer_virtual(self):
self.itimer = signal.ITIMER_VIRTUAL
signal.signal(signal.SIGVTALRM, self.sig_vtalrm)
- signal.setitimer(self.itimer, 0.3, 0.2)
+ signal.setitimer(self.itimer, 0.001, 0.001)
for _ in support.busy_retry(support.LONG_TIMEOUT):
# use up some virtual time by doing real work
- _ = pow(12345, 67890, 10000019)
+ _ = sum(i * i for i in range(10**5))
if signal.getitimer(self.itimer) == (0.0, 0.0):
# sig_vtalrm handler stopped this itimer
break
@@ -859,7 +859,7 @@ def test_itimer_prof(self):
for _ in support.busy_retry(support.LONG_TIMEOUT):
# do some work
- _ = pow(12345, 67890, 10000019)
+ _ = sum(i * i for i in range(10**5))
if signal.getitimer(self.itimer) == (0.0, 0.0):
# sig_prof handler stopped this itimer
break
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]