2.1 KiB
Generated changes
git diff HEAD -- tests/conftest.py tests/ui/conftest.py tests/ui/test_harness.py
Moves XDG user and system config isolation ahead of Piker and Qt imports, guarantees process-environment restoration through pytest cleanup, and adds repeated-session proofs for one shared QApplication. The function-scoped UI guard restores QSettings, Piker config paths, PyQtGraph options and view registries, Qt window state, and exact test-owned files while preserving process sentinels. An early --headless option force-selects offscreen even when the development shell exports Wayland, and the test asserts the effective Qt platform.
git diff HEAD -- piker/ui/_interaction.py tests/test_gap_overlays.py
Routes Ctrl-G through a shown and focused real widget with QtBot.keyPress(). The production input handler now ignores the modifier-only events emitted by real key chords. Replaces a timed Tractor cancellation window and patched logger with a typed stream receipt, explicit task-completion event, and correlated stale-response proof across a real child actor.
git diff HEAD -- .claude/skills/run-tests/test-harness-reference.md
Records the verified early-XDG lifecycle, same-process UI isolation contract, leak checks, targeted commands, layout, and current results.
Verification
- Local package and pytest-qt 4.5.0 resolve in the approved
nix developenvironment. - The combined UI and gap-overlay scope collects 11 tests.
- Both UI isolation tests pass; a duplicated same-process run reports six passing cases.
- The real QtBot Ctrl-G test passes after exercising Qt’s standalone Control event before G.
- The real Tractor actor test passes with no arbitrary sleep or monkeypatched synchronization.
- The combined target passes: 11 tests and one upstream Tractor
trio.Event.__bool__deprecation warning. - The final combined run passes with
--headless, and the harness provesQApplication.platformName()isoffscreen. - Python static compilation and
git diff --checkpass.