Private
Public Access
0
0
Files
manual_slop/tests/artifacts/PHASE14_PARENT_VERIFICATION.log
T
ed 03a0e36738 chore(audit): Phase 14.1 - verify Issue 2 on parent commit 4ab7c732
Recorded in tests/artifacts/PHASE14_PARENT_VERIFICATION.log.

Issue 2 (test_live_gui_workspace_exists xdist race) is confirmed as a
pre-existing race condition on the parent commit. The test PASSED in
2.84s when run in isolation on 4ab7c732. The race only manifests in
batched parallel runs where the owner worker's teardown removes the
shared workspace path before a client worker's test asserts it exists.

This is NOT a regression from Phase 12 (or any subsequent Result[T]
migration work). The fix (live_gui_workspace fixture recreates the
workspace if missing) will be applied in Phase 2.2.
2026-06-18 14:15:35 -04:00

77 lines
2.9 KiB
Plaintext

# Phase 14 - Parent Commit Verification
**Track:** live_gui_test_fixes_20260618
**Date:** 2026-06-18
**Investigator:** Tier 2 Tech Lead (autonomous run)
## Conclusion
Issue 2 (`test_live_gui_workspace_exists` xdist race) is confirmed as a
**pre-existing race condition** on the parent commit `4ab7c732`. It is
NOT a regression introduced by Phase 12 (or any subsequent Result[T]
migration work).
## Test Run on Parent Commit 4ab7c732 (in isolation)
```
uv run pytest tests/test_live_gui_workspace_fixture.py::test_live_gui_workspace_exists -v --timeout=120
```
Result: **PASSED in 2.84s**
This confirms the spec's claim. The xdist race only manifests in batched
parallel runs (where multiple workers share the workspace path and the
owner's teardown can race with a client's test execution).
## The xdist race
The `live_gui_workspace` fixture returns `live_gui.workspace` (a single
shared path `_RUN_WORKSPACE = Path(f"tests/artifacts/live_gui_workspace_{_RUN_ID}")`).
The owner worker's `live_gui` fixture teardown runs `shutil.rmtree(temp_workspace)`
when the owner worker's session ends. In xdist mode, this can happen
before client workers have completed their tests, leaving the workspace
missing when client tests assert `live_gui_workspace.exists()`.
## The fix
The `live_gui_workspace` fixture must ensure the workspace exists by
calling `mkdir(parents=True, exist_ok=True)` on the path before returning
it. This makes the fixture resilient to concurrent teardown by other
workers.
---
## Raw test output
```
============================= test session starts =============================
platform win32 -- Python 3.11.6, pytest-9.1.0, pluggy-1.6.0 -- C:\projects\manual_slop_tier2\.venv\Scripts\python.exe
cachedir: .pytest_cache
rootdir: C:\projects\manual_slop_tier2
configfile: pyproject.toml
plugins: anyio-4.14.0, asyncio-4.0.0, cov-7.1.0, timeout-2.4.0, xdist-3.8.0
asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
timeout: 120.0s
timeout method: thread
timeout func_only: False
collecting ... collected 1 item
tests/test_live_gui_workspace_fixture.py::test_live_gui_workspace_exists PASSED [100%]
============================== warnings summary ===============================
src\gui_2.py:2191
C:\projects\manual_slop_tier2\src\gui_2.py:2191: DeprecationWarning: invalid escape sequence '\p'
"""Renders the project configuration panel. Allows setting execution mode,
src\gui_2.py:2297
C:\projects\manual_slop_tier2\src\gui_2.py:2297: DeprecationWarning: invalid escape sequence '\p'
"""Renders the System Path Configuration panel. Shows source-tagged logs and scripts
src\gui_2.py:5964
C:\projects\manual_slop_tier2\src\gui_2.py:5964: DeprecationWarning: invalid escape sequence '\p'
"""
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================== 1 passed, 3 warnings in 2.84s ========================
```