Mercurial > hg-stable
changeset 14447:f63b7fb4b5f6
run-tests: fix --blacklist with jobs > 1
filter blacklisted tests before partitioning them
to the children.
maintains the 'Skipped...' output but not the 's'.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Fri, 27 May 2011 17:46:48 +0300 |
parents | 95715c2f90bf |
children | 7d367e8f892d |
files | tests/run-tests.py |
diffstat | 1 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Fri May 27 17:46:47 2011 +0300 +++ b/tests/run-tests.py Fri May 27 17:46:48 2011 +0300 @@ -919,7 +919,11 @@ 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 @@ 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 @@ 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])