Show More
@@ -1107,8 +1107,45 b' class TestSuite(unittest.TestSuite):' | |||||
1107 | class TextTestRunner(unittest.TextTestRunner): |
|
1107 | class TextTestRunner(unittest.TextTestRunner): | |
1108 | """Custom unittest test runner that uses appropriate settings.""" |
|
1108 | """Custom unittest test runner that uses appropriate settings.""" | |
1109 |
|
1109 | |||
1110 | def _makeResult(self): |
|
1110 | def __init__(self, runner, *args, **kwargs): | |
1111 | return TestResult(self.stream, self.descriptions, self.verbosity) |
|
1111 | super(TextTestRunner, self).__init__(*args, **kwargs) | |
|
1112 | ||||
|
1113 | self._runner = runner | |||
|
1114 | ||||
|
1115 | def run(self, test): | |||
|
1116 | result = TestResult(self.stream, self.descriptions, self.verbosity) | |||
|
1117 | ||||
|
1118 | test(result) | |||
|
1119 | ||||
|
1120 | failed = len(result.failures) | |||
|
1121 | warned = len(result.warned) | |||
|
1122 | skipped = len(result.skipped) | |||
|
1123 | ignored = len(result.ignored) | |||
|
1124 | ||||
|
1125 | self.stream.writeln('') | |||
|
1126 | ||||
|
1127 | if not self._runner.options.noskips: | |||
|
1128 | for test, msg in result.skipped: | |||
|
1129 | self.stream.writeln('Skipped %s: %s' % (test.name, msg)) | |||
|
1130 | for test, msg in result.warned: | |||
|
1131 | self.stream.writeln('Warned %s: %s' % (test.name, msg)) | |||
|
1132 | for test, msg in result.failures: | |||
|
1133 | self.stream.writeln('Failed %s: %s' % (test.name, msg)) | |||
|
1134 | for test, msg in result.errors: | |||
|
1135 | self.stream.writeln('Errored %s: %s' % (test.name, msg)) | |||
|
1136 | ||||
|
1137 | self._runner._checkhglib('Tested') | |||
|
1138 | ||||
|
1139 | # This differs from unittest's default output in that we don't count | |||
|
1140 | # skipped and ignored tests as part of the total test count. | |||
|
1141 | self.stream.writeln('# Ran %d tests, %d skipped, %d warned, %d failed.' | |||
|
1142 | % (result.testsRun - skipped - ignored, | |||
|
1143 | skipped + ignored, warned, failed)) | |||
|
1144 | if failed: | |||
|
1145 | self.stream.writeln('python hash seed: %s' % | |||
|
1146 | os.environ['PYTHONHASHSEED']) | |||
|
1147 | if self._runner.options.time: | |||
|
1148 | self._runner._outputtimes() | |||
1112 |
|
1149 | |||
1113 | class TestRunner(object): |
|
1150 | class TestRunner(object): | |
1114 | """Holds context for executing tests. |
|
1151 | """Holds context for executing tests. | |
@@ -1323,7 +1360,7 b' class TestRunner(object):' | |||||
1323 | verbosity = 1 |
|
1360 | verbosity = 1 | |
1324 | if self.options.verbose: |
|
1361 | if self.options.verbose: | |
1325 | verbosity = 2 |
|
1362 | verbosity = 2 | |
1326 | runner = TextTestRunner(verbosity=verbosity) |
|
1363 | runner = TextTestRunner(self, verbosity=verbosity) | |
1327 | runner.run(suite) |
|
1364 | runner.run(suite) | |
1328 | else: |
|
1365 | else: | |
1329 | self._executetests(tests) |
|
1366 | self._executetests(tests) |
General Comments 0
You need to be logged in to leave comments.
Login now