From 202dd1ef420359c05814cbfcc5c27e71c90c16d9 Mon Sep 17 00:00:00 2001 From: Guido van Rossum 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