Mercurial > hg
comparison tests/run-tests.py @ 27567:54bc0e884385
run-tests: avoid double counting server fails
author | timeless <timeless@mozdev.org> |
---|---|
date | Mon, 28 Dec 2015 16:01:31 +0000 |
parents | 80b53082a353 |
children | 67aa88e00fc7 |
comparison
equal
deleted
inserted
replaced
27566:5d6f984c8375 | 27567:54bc0e884385 |
---|---|
583 # As with skips, ignores also should be excluded from | 583 # As with skips, ignores also should be excluded from |
584 # the number of tests executed. | 584 # the number of tests executed. |
585 result.testsRun -= 1 | 585 result.testsRun -= 1 |
586 except WarnTest as e: | 586 except WarnTest as e: |
587 result.addWarn(self, str(e)) | 587 result.addWarn(self, str(e)) |
588 except ReportedTest as e: | |
589 pass | |
588 except self.failureException as e: | 590 except self.failureException as e: |
589 # This differs from unittest in that we don't capture | 591 # This differs from unittest in that we don't capture |
590 # the stack trace. This is for historical reasons and | 592 # the stack trace. This is for historical reasons and |
591 # this decision could be revisited in the future, | 593 # this decision could be revisited in the future, |
592 # especially for PythonTest instances. | 594 # especially for PythonTest instances. |
1241 """Raised to indicate that a test is to be ignored.""" | 1243 """Raised to indicate that a test is to be ignored.""" |
1242 | 1244 |
1243 class WarnTest(Exception): | 1245 class WarnTest(Exception): |
1244 """Raised to indicate that a test warned.""" | 1246 """Raised to indicate that a test warned.""" |
1245 | 1247 |
1248 class ReportedTest(Exception): | |
1249 """Raised to indicate that a test already reported.""" | |
1250 | |
1246 class TestResult(unittest._TextTestResult): | 1251 class TestResult(unittest._TextTestResult): |
1247 """Holds results when executing via unittest.""" | 1252 """Holds results when executing via unittest.""" |
1248 # Don't worry too much about accessing the non-public _TextTestResult. | 1253 # Don't worry too much about accessing the non-public _TextTestResult. |
1249 # It is relatively common in Python testing tools. | 1254 # It is relatively common in Python testing tools. |
1250 def __init__(self, options, *args, **kwargs): | 1255 def __init__(self, options, *args, **kwargs): |
1359 test.refpath, test.errpath) | 1364 test.refpath, test.errpath) |
1360 if servefail: | 1365 if servefail: |
1361 self.addFailure( | 1366 self.addFailure( |
1362 test, | 1367 test, |
1363 'server failed to start (HGPORT=%s)' % test._startport) | 1368 'server failed to start (HGPORT=%s)' % test._startport) |
1369 raise ReportedTest('server failed to start') | |
1364 else: | 1370 else: |
1365 self.stream.write('\n') | 1371 self.stream.write('\n') |
1366 for line in lines: | 1372 for line in lines: |
1367 if PYTHON3: | 1373 if PYTHON3: |
1368 self.stream.flush() | 1374 self.stream.flush() |