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.
This commit is contained in:
Guido van Rossum 2001-12-07 03:39:34 +00:00
parent eb4b7bad33
commit 202dd1ef42
1 changed files with 6 additions and 0 deletions

View File

@ -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