# HG changeset patch # User Idan Kamara # Date 1306507608 -10800 # Node ID e39ab51937a2b2abba2bcb72fd4ce37d8fa0ce80 # Parent 85e0c572897f90e0020605e5f076be8e86f16e7c run-tests: fix --blacklist with jobs > 1 filter blacklisted tests before partitioning them to the children. maintains the 'Skipped...' output but not the 's'. [ original upstream message ] diff -r 85e0c572897f -r e39ab51937a2 tests/run-tests.py --- 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])