summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Tracey <kmtracey@gmail.com>2009-12-31 19:52:26 +0000
committerKaren Tracey <kmtracey@gmail.com>2009-12-31 19:52:26 +0000
commitdae4972b4d0d88f539532829cf143a98b20d0d45 (patch)
tree04372bd4e56fd34c16973750eff677c3ecf2515c
parentd406a8de8a12717ef32919188f61abcf234c5144 (diff)
Ensure the default keyboard interrupt handler is restored
even if the test runner raises an exception. Thanks Alex Gaynor. git-svn-id: http://code.djangoproject.com/svn/django/trunk@12036 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/test/simple.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/test/simple.py b/django/test/simple.py
index 7610e1cb2c..b01ecad7f4 100644
--- a/django/test/simple.py
+++ b/django/test/simple.py
@@ -27,8 +27,10 @@ class DjangoTestRunner(unittest.TextTestRunner):
"""
self._default_keyboard_interrupt_handler = signal.signal(signal.SIGINT,
self._keyboard_interrupt_handler)
- result = super(DjangoTestRunner, self).run(*args, **kwargs)
- signal.signal(signal.SIGINT, self._default_keyboard_interrupt_handler)
+ try:
+ result = super(DjangoTestRunner, self).run(*args, **kwargs)
+ finally:
+ signal.signal(signal.SIGINT, self._default_keyboard_interrupt_handler)
return result
def _keyboard_interrupt_handler(self, signal_number, stack_frame):