diff -r ece127734db1 -r 213339e9bada tests/run-tests.py --- a/tests/run-tests.py Sun Apr 20 14:04:37 2014 -0700 +++ b/tests/run-tests.py Sun Apr 20 14:19:59 2014 -0700 @@ -1330,7 +1330,16 @@ def run(self, result): self._result = result - return super(MercurialTest, self).run(result) + try: + self.runTest() + except KeyboardInterrupt: + raise + except self.failureException: + result.addFailure(self, sys.exc_info()) + except Exception: + result.addError(self, sys.exc_info()) + else: + result.addSuccess(self) def runTest(self): code, tname, msg = t.run()