1 # Test the signal module
2 from test_support
import verbose
, TestSkipped
7 if sys
.platform
[:3] in ('win', 'os2'):
8 raise TestSkipped
, "Can't test signal on %s" % sys
.platform
[:3]
16 # Shell script that will send us asynchronous signals
31 print "handlerA", args
33 HandlerBCalled
= "HandlerBCalled" # Exception
37 print "handlerB", args
38 raise HandlerBCalled
, args
40 signal
.alarm(20) # Entire test lasts at most 20 sec.
41 signal
.signal(5, handlerA
)
42 signal
.signal(2, handlerB
)
43 signal
.signal(3, signal
.SIG_IGN
)
44 signal
.signal(signal
.SIGALRM
, signal
.default_int_handler
)
48 print "starting pause() loop..."
53 print "call pause()..."
57 print "pause() returned"
58 except HandlerBCalled
:
60 print "HandlerBCalled exception caught"
64 except KeyboardInterrupt:
66 print "KeyboardInterrupt (assume the alarm() went off)"