diff --git a/tests/snippets/stdlib_signal.py b/tests/snippets/stdlib_signal.py index d711052eb..703bc14ae 100644 --- a/tests/snippets/stdlib_signal.py +++ b/tests/snippets/stdlib_signal.py @@ -1,5 +1,8 @@ import signal import time +from testutils import assert_raises + +assert_raises(TypeError, lambda: signal.signal(signal.SIGINT, 2)) signals = [] @@ -7,10 +10,24 @@ def handler(signum, frame): signals.append(signum) -signal.signal(14, handler) -assert signal.getsignal(14) is handler +signal.signal(signal.SIGALRM, handler) +assert signal.getsignal(signal.SIGALRM) is handler + +signal.alarm(1) +time.sleep(2.0) +assert signals == [signal.SIGALRM] + +signal.signal(signal.SIGALRM, signal.SIG_IGN) +signal.alarm(1) +time.sleep(2.0) + +assert signals == [signal.SIGALRM] + +signal.signal(signal.SIGALRM, handler) +signal.alarm(1) +time.sleep(2.0) + +assert signals == [signal.SIGALRM, signal.SIGALRM] + -signal.alarm(2) -time.sleep(3.0) -assert signals == [14]