Mercurial > hg
changeset 14002:a738c30d4b18
run-tests: add a lock for console I/O
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 24 Apr 2011 16:46:37 -0500 |
parents | 9c4da6ab4e5a |
children | ba734ff5cadd |
files | tests/run-tests.py |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Sun Apr 24 16:42:15 2011 -0500 +++ b/tests/run-tests.py Sun Apr 24 16:46:37 2011 -0500 @@ -654,7 +654,7 @@ True -> passed False -> failed''' - global results, resultslock + global results, resultslock, iolock testpath = os.path.join(TESTDIR, test) @@ -825,18 +825,22 @@ else: fail("output changed", ret) if ret != 'timeout' and not options.nodiff: + iolock.acquire() if options.view: os.system("%s %s %s" % (options.view, ref, err)) else: showdiff(refout, out, ref, err) + iolock.release() ret = 1 elif ret: mark = '!' fail("returned error code %d" % ret, ret) if not options.verbose: + iolock.acquire() sys.stdout.write(mark) sys.stdout.flush() + iolock.release() killdaemons() @@ -954,6 +958,7 @@ results = dict(p=[], f=[], s=[], i=[]) resultslock = threading.Lock() +iolock = threading.Lock() def runqueue(options, tests, results): for test in tests: