1 # Test the signal module
2 from test
.test_support
import verbose
, TestSkipped
, TestFailed
6 if sys
.platform
[:3] in ('win', 'os2') or sys
.platform
=='riscos':
7 raise TestSkipped
, "Can't test signal on %s" % sys
.platform
15 # Shell script that will send us asynchronous signals
30 print "handlerA", args
32 HandlerBCalled
= "HandlerBCalled" # Exception
36 print "handlerB", args
37 raise HandlerBCalled
, args
39 signal
.alarm(20) # Entire test lasts at most 20 sec.
40 signal
.signal(5, handlerA
)
41 signal
.signal(2, handlerB
)
42 signal
.signal(3, signal
.SIG_IGN
)
43 signal
.signal(signal
.SIGALRM
, signal
.default_int_handler
)
47 print "starting pause() loop..."
52 print "call pause()..."
56 print "pause() returned"
57 except HandlerBCalled
:
59 print "HandlerBCalled exception caught"
63 except KeyboardInterrupt:
65 print "KeyboardInterrupt (assume the alarm() went off)"