mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-02 19:39:49 +09:00
44 lines
956 B
Python
44 lines
956 B
Python
import signal
|
|
import sys
|
|
import time
|
|
|
|
from testutils import assert_raises
|
|
|
|
assert_raises(TypeError, lambda: signal.signal(signal.SIGINT, 2))
|
|
|
|
signals = []
|
|
|
|
|
|
def handler(signum, frame):
|
|
signals.append(signum)
|
|
|
|
|
|
signal.signal(signal.SIGILL, signal.SIG_IGN)
|
|
assert signal.getsignal(signal.SIGILL) is signal.SIG_IGN
|
|
|
|
old_signal = signal.signal(signal.SIGILL, signal.SIG_DFL)
|
|
assert old_signal is signal.SIG_IGN
|
|
assert signal.getsignal(signal.SIGILL) is signal.SIG_DFL
|
|
|
|
|
|
# unix
|
|
if "win" not in sys.platform:
|
|
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]
|