diff options
| author | Karen Tracey <kmtracey@gmail.com> | 2009-12-31 19:52:26 +0000 |
|---|---|---|
| committer | Karen Tracey <kmtracey@gmail.com> | 2009-12-31 19:52:26 +0000 |
| commit | dae4972b4d0d88f539532829cf143a98b20d0d45 (patch) | |
| tree | 04372bd4e56fd34c16973750eff677c3ecf2515c | |
| parent | d406a8de8a12717ef32919188f61abcf234c5144 (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.py | 6 |
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): |
