From 283bb7085ba4cb3b21c444e4e4b7fed90257738d Mon Sep 17 00:00:00 2001 From: Ed_ Date: Tue, 9 Jun 2026 22:45:36 -0400 Subject: [PATCH] =?UTF-8?q?fix(test):=20remove=20live=5Fgui=20skip=20gate?= =?UTF-8?q?=20=E2=80=94=20lock=20mechanism=20handles=20coordination?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/conftest.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 72ab26e9..c80a8a41 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -135,19 +135,13 @@ def pytest_unconfigure(config: object) -> None: def pytest_collection_modifyitems(config: object, items: list[object]) -> None: """ - xdist worker gate: only gw0 (or the master, if not running under xdist) - actually runs tests that depend on the live_gui fixture. Other workers - deselect those tests to avoid port-8999 collisions and to honor the - "don't multi-thread live_gui" directive. + No-op. The live_gui fixture uses a file-based lock to serialize ownership + of the sloppy.py subprocess: the first worker to acquire the lock spawns + it, other workers wait for the hook server and yield a client handle. + All workers CAN run live_gui tests; the lock prevents port-8999 collisions. [C: tests/conftest.py:live_gui fixture] """ - _worker = os.environ.get("PYTEST_XDIST_WORKER", "master") - if _worker in ("master", "gw0"): - return - _skip = pytest.mark.skip(reason=f"live_gui tests only run on master/gw0 (this worker is {_worker})") - for item in items: - if "live_gui" in getattr(item, "fixturenames", ()): - item.add_marker(_skip) + return _REQUIRED_TEST_IMPORTS: list[tuple[str, str]] = [ ("sentence_transformers", "sentence-transformers"),