Mercurial > public > mercurial-scm > hg
diff tests/run-tests.py @ 49217:13dfad0f9f7a
branching: merge stable into default
author | Rapha?l Gom?s <rgomes@octobus.net> |
---|---|
date | Wed, 25 May 2022 13:28:24 +0200 |
parents | ea98850a136e 8d31ef3017c9 |
children | cd51d4957b28 |
line wrap: on
line diff
--- a/tests/run-tests.py Tue May 24 19:09:24 2022 +0400 +++ b/tests/run-tests.py Wed May 25 13:28:24 2022 +0200 @@ -2505,29 +2505,33 @@ done = queue.Queue() running = 0 + channels_lock = threading.Lock() channels = [""] * self._jobs def job(test, result): - for n, v in enumerate(channels): - if not v: - channel = n - break - else: - raise ValueError('Could not find output channel') - channels[channel] = "=" + test.name[5:].split(".")[0] + with channels_lock: + for n, v in enumerate(channels): + if not v: + channel = n + break + else: + raise ValueError('Could not find output channel') + channels[channel] = "=" + test.name[5:].split(".")[0] + + r = None try: test(result) - done.put(None) except KeyboardInterrupt: pass except: # re-raises - done.put(('!', test, 'run-test raised an error, see traceback')) + r = ('!', test, 'run-test raised an error, see traceback') raise finally: try: channels[channel] = '' except IndexError: pass + done.put(r) def stat(): count = 0