Skip to content

Commit 48b7e2f

Browse files
committed
Add basic test for shared data
1 parent a2aaecb commit 48b7e2f

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

testing/acceptance_test.py

+34
Original file line numberDiff line numberDiff line change
@@ -1543,3 +1543,37 @@ def test_get_xdist_worker_id(self, fake_request) -> None:
15431543
assert xdist.get_xdist_worker_id(fake_request) == "gw5"
15441544
del fake_request.config.workerinput
15451545
assert xdist.get_xdist_worker_id(fake_request) == "master"
1546+
1547+
1548+
class TestSharedData:
1549+
def test_shared_data_two_nodes(self, pytester: pytest.Pytester) -> None:
1550+
pytester.makepyfile(
1551+
"""
1552+
def test_shared1(add_shared_data):
1553+
add_shared_data("test","value2")
1554+
assert 1
1555+
def test_shared2(add_shared_data):
1556+
add_shared_data("test","value1")
1557+
assert 1
1558+
1559+
"""
1560+
)
1561+
pytester.makeconftest(
1562+
"""
1563+
from xdist.plugin import get_shared_data
1564+
def pytest_sessionfinish(session):
1565+
data, master = get_shared_data(session)
1566+
if master:
1567+
with open('shared_data', 'w') as f:
1568+
for key, values in data.items():
1569+
for value in values:
1570+
f.write('data[%s] = %s\\n' % (key,value))
1571+
"""
1572+
)
1573+
result = pytester.inline_run("-x", "-v", "-n2")
1574+
assert result.ret == 0
1575+
collected_file = pytester.path / "shared_data"
1576+
assert collected_file.is_file()
1577+
collected_text = collected_file.read_text()
1578+
assert "data[test] = value2" in collected_text
1579+
assert "data[test] = value1" in collected_text

0 commit comments

Comments
 (0)