diff --git a/Lib/unittest/signals.py b/Lib/unittest/signals.py index e6a5fc5..251b488 100644 --- a/Lib/unittest/signals.py +++ b/Lib/unittest/signals.py @@ -35,8 +35,13 @@ class _InterruptHandler(object): if self.called: self.default_handler(signum, frame) self.called = True + stopped = False for result in _results.keys(): result.stop() + stopped = True + if not stopped: + # if there aren't any registered results, delegate immediately + self.default_handler(signum, frame) _results = weakref.WeakKeyDictionary() def registerResult(result):