bpo-31479: Always reset the signal alarm in tests (GH-3588) (GH-7314)
* bpo-31479: Always reset the signal alarm in tests
Use "try: ... finally: signal.signal(0)" pattern to make sure that
tests don't "leak" a pending fatal signal alarm.
* Move two more alarm() calls into the try block
Fix also typo: replace signal.signal(0) with signal.alarm(0)
* Move another signal.alarm() into the try block
(cherry picked from commit 9abee722d448c1c00c7d4e11ce242ec7b13e5c49)
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index ca53899..1460711 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -1534,8 +1534,8 @@
raise Alarm
old_alarm = signal.signal(signal.SIGALRM, alarm_handler)
try:
- signal.alarm(2) # POSIX allows alarm to be up to 1 second early
try:
+ signal.alarm(2) # POSIX allows alarm to be up to 1 second early
foo = self.serv.accept()
except socket.timeout:
self.fail("caught timeout instead of Alarm")