Show More
@@ -1153,17 +1153,27 b' class TestResult(unittest._TextTestResul' | |||
|
1153 | 1153 | class TestSuite(unittest.TestSuite): |
|
1154 | 1154 | """Custom unitest TestSuite that knows how to execute Mercurial tests.""" |
|
1155 | 1155 | |
|
1156 |
def __init__(self, runner, jobs=1, |
|
|
1156 | def __init__(self, runner, jobs=1, whitelist=None, blacklist=None, | |
|
1157 | *args, **kwargs): | |
|
1157 | 1158 | """Create a new instance that can run tests with a configuration. |
|
1158 | 1159 | |
|
1159 | 1160 | jobs specifies the number of jobs to run concurrently. Each test |
|
1160 | 1161 | executes on its own thread. Tests actually spawn new processes, so |
|
1161 | 1162 | state mutation should not be an issue. |
|
1163 | ||
|
1164 | whitelist and blacklist denote tests that have been whitelisted and | |
|
1165 | blacklisted, respectively. These arguments don't belong in TestSuite. | |
|
1166 | Instead, whitelist and blacklist should be handled by the thing that | |
|
1167 | populates the TestSuite with tests. They are present to preserve | |
|
1168 | backwards compatible behavior which reports skipped tests as part | |
|
1169 | of the results. | |
|
1162 | 1170 | """ |
|
1163 | 1171 | super(TestSuite, self).__init__(*args, **kwargs) |
|
1164 | 1172 | |
|
1165 | 1173 | self._runner = runner |
|
1166 | 1174 | self._jobs = jobs |
|
1175 | self._whitelist = whitelist | |
|
1176 | self._blacklist = blacklist | |
|
1167 | 1177 | |
|
1168 | 1178 | def run(self, result): |
|
1169 | 1179 | options = self._runner.options |
@@ -1177,8 +1187,8 b' class TestSuite(unittest.TestSuite):' | |||
|
1177 | 1187 | result.addSkip(test, "Doesn't exist") |
|
1178 | 1188 | continue |
|
1179 | 1189 | |
|
1180 |
if not ( |
|
|
1181 |
if |
|
|
1190 | if not (self._whitelist and test.name in self._whitelist): | |
|
1191 | if self._blacklist and test.name in self._blacklist: | |
|
1182 | 1192 | result.addSkip(test, 'blacklisted') |
|
1183 | 1193 | continue |
|
1184 | 1194 | |
@@ -1489,7 +1499,10 b' class TestRunner(object):' | |||
|
1489 | 1499 | failed = False |
|
1490 | 1500 | warned = False |
|
1491 | 1501 | |
|
1492 |
suite = TestSuite(self, jobs=self.options.jobs, |
|
|
1502 | suite = TestSuite(self, jobs=self.options.jobs, | |
|
1503 | whitelist=self.options.whitelisted, | |
|
1504 | blacklist=self.options.blacklist, | |
|
1505 | tests=tests) | |
|
1493 | 1506 | verbosity = 1 |
|
1494 | 1507 | if self.options.verbose: |
|
1495 | 1508 | verbosity = 2 |
General Comments 0
You need to be logged in to leave comments.
Login now