Issue node shutdown on empty workload

Remote pytest_runtestloop requires at least 2 tests, or a test
and a shutdown command. In case of inter test locking, for
example using a file lock, the tests could deadlock, since the
shutdown command would not be enqueued, and the last test of a
worker would never finish, and would not allow another worker
to make progress.
This commit is contained in:
Jan Kasiak
2018-09-30 13:59:35 -04:00
parent 86e2fb5a5a
commit fe06f27b8b
6 changed files with 57 additions and 0 deletions

View File

@@ -126,6 +126,7 @@ class EachScheduling(object):
if not pending:
pending[:] = range(len(self.node2collection[node]))
node.send_runtest_all()
node.shutdown()
else:
node.send_runtest_some(pending)
self._started.append(node)