Show More
@@ -1182,7 +1182,7 b' times = []' | |||
|
1182 | 1182 | iolock = threading.Lock() |
|
1183 | 1183 | abort = False |
|
1184 | 1184 | |
|
1185 | def scheduletests(options, tests): | |
|
1185 | def scheduletests(runner, options, tests): | |
|
1186 | 1186 | jobs = options.jobs |
|
1187 | 1187 | done = queue.Queue() |
|
1188 | 1188 | running = 0 |
@@ -1222,7 +1222,7 b' def scheduletests(options, tests):' | |||
|
1222 | 1222 | except KeyboardInterrupt: |
|
1223 | 1223 | abort = True |
|
1224 | 1224 | |
|
1225 | def runtests(options, tests): | |
|
1225 | def runtests(runner, options, tests): | |
|
1226 | 1226 | try: |
|
1227 | 1227 | if INST: |
|
1228 | 1228 | installhg(options) |
@@ -1240,7 +1240,7 b' def runtests(options, tests):' | |||
|
1240 | 1240 | print "running all tests" |
|
1241 | 1241 | tests = orig |
|
1242 | 1242 | |
|
1243 | scheduletests(options, tests) | |
|
1243 | scheduletests(runner, options, tests) | |
|
1244 | 1244 | |
|
1245 | 1245 | failed = len(results['!']) |
|
1246 | 1246 | warned = len(results['~']) |
@@ -1278,7 +1278,15 b' def runtests(options, tests):' | |||
|
1278 | 1278 | testtypes = [('.py', PythonTest, '.out'), |
|
1279 | 1279 | ('.t', TTest, '')] |
|
1280 | 1280 | |
|
1281 | class TestRunner(object): | |
|
1282 | """Holds context for executing tests. | |
|
1283 | ||
|
1284 | Tests rely on a lot of state. This object holds it for them. | |
|
1285 | """ | |
|
1286 | ||
|
1281 | 1287 | def main(args, parser=None): |
|
1288 | runner = TestRunner() | |
|
1289 | ||
|
1282 | 1290 | parser = parser or getparser() |
|
1283 | 1291 | (options, args) = parseargs(args, parser) |
|
1284 | 1292 | os.umask(022) |
@@ -1397,7 +1405,7 b' def main(args, parser=None):' | |||
|
1397 | 1405 | vlog("# Using", IMPL_PATH, os.environ[IMPL_PATH]) |
|
1398 | 1406 | |
|
1399 | 1407 | try: |
|
1400 | return runtests(options, tests) or 0 | |
|
1408 | return runtests(runner, options, tests) or 0 | |
|
1401 | 1409 | finally: |
|
1402 | 1410 | time.sleep(.1) |
|
1403 | 1411 | cleanup(options) |
General Comments 0
You need to be logged in to leave comments.
Login now