Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bea2467712 | ||
|
|
c4a793de38 | ||
|
|
9bcd0e4352 | ||
|
|
96af694bf3 |
@@ -1,3 +1,12 @@
|
|||||||
|
pytest-xdist 1.23.0 (2018-08-23)
|
||||||
|
================================
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
|
||||||
|
- `#330 <https://github.com/pytest-dev/pytest-xdist/issues/330>`_: Improve collection performance by reducing the number of events sent to ``master`` node.
|
||||||
|
|
||||||
|
|
||||||
pytest-xdist 1.22.5 (2018-07-27)
|
pytest-xdist 1.22.5 (2018-07-27)
|
||||||
================================
|
================================
|
||||||
|
|
||||||
|
|||||||
@@ -321,8 +321,6 @@ class TestWorkerInteractor:
|
|||||||
assert not ev.kwargs
|
assert not ev.kwargs
|
||||||
ev = worker.popevent()
|
ev = worker.popevent()
|
||||||
assert ev.name == "collectreport"
|
assert ev.name == "collectreport"
|
||||||
ev = worker.popevent()
|
|
||||||
assert ev.name == "collectreport"
|
|
||||||
rep = unserialize_report(ev.name, ev.kwargs["data"])
|
rep = unserialize_report(ev.name, ev.kwargs["data"])
|
||||||
assert rep.failed
|
assert rep.failed
|
||||||
ev = worker.popevent("collectionfinish")
|
ev = worker.popevent("collectionfinish")
|
||||||
|
|||||||
@@ -257,8 +257,12 @@ class DSession(object):
|
|||||||
self.sched.mark_test_complete(node, item_index, duration)
|
self.sched.mark_test_complete(node, item_index, duration)
|
||||||
|
|
||||||
def worker_collectreport(self, node, rep):
|
def worker_collectreport(self, node, rep):
|
||||||
"""Emitted when a node calls the pytest_collectreport hook."""
|
"""Emitted when a node calls the pytest_collectreport hook.
|
||||||
if rep.failed:
|
|
||||||
|
Because we only need the report when there's a failure, as optimization
|
||||||
|
we only expect to receive failed reports from workers (#330).
|
||||||
|
"""
|
||||||
|
assert rep.failed
|
||||||
self._failed_worker_collectreport(node, rep)
|
self._failed_worker_collectreport(node, rep)
|
||||||
|
|
||||||
def worker_logwarning(self, message, code, nodeid, fslocation):
|
def worker_logwarning(self, message, code, nodeid, fslocation):
|
||||||
|
|||||||
@@ -109,6 +109,8 @@ class WorkerInteractor(object):
|
|||||||
self.sendevent("testreport", data=data)
|
self.sendevent("testreport", data=data)
|
||||||
|
|
||||||
def pytest_collectreport(self, report):
|
def pytest_collectreport(self, report):
|
||||||
|
# master only needs reports that failed, as optimization send only them instead (#330)
|
||||||
|
if report.failed:
|
||||||
data = serialize_report(report)
|
data = serialize_report(report)
|
||||||
self.sendevent("collectreport", data=data)
|
self.sendevent("collectreport", data=data)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user