tests/run-tests.py
changeset 27567 54bc0e884385
parent 27564 80b53082a353
child 27602 67aa88e00fc7
--- a/tests/run-tests.py	Mon Dec 14 23:50:02 2015 +0900
+++ b/tests/run-tests.py	Mon Dec 28 16:01:31 2015 +0000
@@ -585,6 +585,8 @@
                 result.testsRun -= 1
             except WarnTest as e:
                 result.addWarn(self, str(e))
+            except ReportedTest as e:
+                pass
             except self.failureException as e:
                 # This differs from unittest in that we don't capture
                 # the stack trace. This is for historical reasons and
@@ -1243,6 +1245,9 @@
 class WarnTest(Exception):
     """Raised to indicate that a test warned."""
 
+class ReportedTest(Exception):
+    """Raised to indicate that a test already reported."""
+
 class TestResult(unittest._TextTestResult):
     """Holds results when executing via unittest."""
     # Don't worry too much about accessing the non-public _TextTestResult.
@@ -1361,6 +1366,7 @@
                     self.addFailure(
                         test,
                         'server failed to start (HGPORT=%s)' % test._startport)
+                    raise ReportedTest('server failed to start')
                 else:
                     self.stream.write('\n')
                     for line in lines: