From 202dd1ef420359c05814cbfcc5c27e71c90c16d9 Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Fri, 7 Dec 2001 03:39:34 +0000
Subject: In unconditional except clauses, don't catch KeyboardInterrupt --
 it's annoying that often you have to hit ^C numerous times before it works. 
 The solution: before the "except:" clause, insert "except KeyboardInterrupt:
 raise".  This propagates KeyboardInterrupt out, stopping the test in its
 tracks.

---
 Lib/unittest.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/Lib/unittest.py b/Lib/unittest.py
index 7de4d6c..3f59916 100644
--- a/Lib/unittest.py
+++ b/Lib/unittest.py
@@ -202,6 +202,8 @@ class TestCase:
         try:
             try:
                 self.setUp()
+            except KeyboardInterrupt:
+                raise
             except:
                 result.addError(self, self.__exc_info())
                 return
@@ -212,11 +214,15 @@ class TestCase:
                 ok = 1
             except self.failureException, e:
                 result.addFailure(self, self.__exc_info())
+            except KeyboardInterrupt:
+                raise
             except:
                 result.addError(self, self.__exc_info())
 
             try:
                 self.tearDown()
+            except KeyboardInterrupt:
+                raise
             except:
                 result.addError(self, self.__exc_info())
                 ok = 0
-- 
cgit v0.12

