Verify that the signal handlers were really called

This commit is contained in:
Neal Norwitz 2006-07-30 19:18:38 +00:00
parent c173b488dc
commit ec3c5e396e

View file

@ -25,7 +25,11 @@
) &
""" % vars()
a_called = b_called = False
def handlerA(*args):
global a_called
a_called = True
if verbose:
print "handlerA", args
@ -33,6 +37,8 @@ class HandlerBCalled(Exception):
pass
def handlerB(*args):
global b_called
b_called = True
if verbose:
print "handlerB", args
raise HandlerBCalled, args
@ -88,6 +94,12 @@ def handlerB(*args):
if verbose:
print "KeyboardInterrupt (assume the alarm() went off)"
if not a_called:
print 'HandlerA not called'
if not b_called:
print 'HandlerB not called'
finally:
signal.signal(signal.SIGHUP, hup)
signal.signal(signal.SIGUSR1, usr1)