mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 07:17:55 +03:00
run-tests: fix --blacklist with jobs > 1
filter blacklisted tests before partitioning them to the children. maintains the 'Skipped...' output but not the 's'.
This commit is contained in:
parent
13676f41c0
commit
f4c2cac599
@ -919,7 +919,11 @@ def runchildren(options, tests):
|
||||
|
||||
optcopy = dict(options.__dict__)
|
||||
optcopy['jobs'] = 1
|
||||
|
||||
blacklist = optcopy['blacklist'] or []
|
||||
del optcopy['blacklist']
|
||||
blacklisted = []
|
||||
|
||||
if optcopy['with_hg'] is None:
|
||||
optcopy['with_hg'] = os.path.join(BINDIR, "hg")
|
||||
optcopy.pop('anycoverage', None)
|
||||
@ -941,7 +945,11 @@ def runchildren(options, tests):
|
||||
for job in jobs:
|
||||
if not tests:
|
||||
break
|
||||
job.append(tests.pop())
|
||||
test = tests.pop()
|
||||
if test in blacklist:
|
||||
blacklisted.append(test)
|
||||
else:
|
||||
job.append(test)
|
||||
fps = {}
|
||||
|
||||
for j, job in enumerate(jobs):
|
||||
@ -979,9 +987,12 @@ def runchildren(options, tests):
|
||||
vlog('pid %d exited, status %d' % (pid, status))
|
||||
failures |= status
|
||||
print
|
||||
skipped += len(blacklisted)
|
||||
if not options.noskips:
|
||||
for s in skips:
|
||||
print "Skipped %s: %s" % (s[0], s[1])
|
||||
for s in blacklisted:
|
||||
print "Skipped %s: blacklisted" % s
|
||||
for s in fails:
|
||||
print "Failed %s: %s" % (s[0], s[1])
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user