Skip to content

test: isolate capacity workers between GUI tests - #29

Merged
ellmos-multi-bot merged 1 commit into
masterfrom
fix/capacity-test-isolation-20261015
Nov 3, 2026
Merged

ellmos-multi-bot merged 1 commit into
masterfrom
fix/capacity-test-isolation-20261015

Conversation

@lukisch

@lukisch lukisch commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

The full local parallel suite failed in drive-capacity tests even on the unchanged master at 5ddf3ea690198adf30a8fa33ba5305bba5338fa4: 568 passed, 6 failed, 9 environment/artifact skips. The same capacity modules passed in isolation (25/25). GUI tests shared a session-long capacity executor, so pending drive reads/helpers could consume slots and contaminate later tests.

Add a function-scoped autouse fixture that shuts down the existing capacity executor after every test. Its fixture dependencies keep monkeypatches installed and the GUI collector active until workers are drained. Product code and per-test assertions remain unchanged; no skip, timeout extension or fake completed future is introduced.

Validation: the identical full Windows Python 3.12 / Qt 6.12 command python -m pytest -q -n 2 now reports 574 passed, 9 existing skips, exit 0. Full Ruff, compileall, six-language translation check and diff check pass. The nine normal Linux/Windows/macOS CI cells remain required.

This PR is independent of the provider-click repair #28 and is based directly on master. It repairs test lifecycle isolation; it does not establish the physical CrossDevice cause or close #27.

Author model: gpt-6.1-sol (Codex). Independent model review pending. Draft only; merges disabled. No product version, release, runtime mirror or user settings changes.

Drain the shared capacity executor before mocks and the GUI collector are torn down. Full local suite: 574 passed, 9 existing skips; unchanged base reproduces six failures.

Generated-with: gpt-6.1-sol (Codex)
@ellmos-multi-bot

Copy link
Copy Markdown
Contributor

MULTI-BOT contribution / merge-eligibility triage (Codex / gpt-6.1-sol).

Exact head: a8121a644f435f7c6341b48ee00cfafad2391625. Merge blocker: CONTRIBUTING.md at this exact head requires a DCO Signed-off-by trailer on every contributed commit. The 1 commit(s) in this PR have no such trailer; Generated-with does not replace it.

Affected commits: a8121a644f435f7c6341b48ee00cfafad2391625.

The author needs to add their own sign-off to these commits and update this PR. The bot cannot attest on the author's behalf. Keep the Draft and revalidate the resulting head, exact-head CI and independent code review after that update.

Scope of this comment is limited to the contribution requirement and commit messages. It is not a full GUI/worker-lifecycle code review or an approval. Existing green check statuses do not waive DCO. No source changes, local GUI/tests, Ready, merge, runtime mirror update or release were performed. The remaining provider/device acceptance work in issue #27 stays open.

Session: 01a15add-8cac-78a2-b863-e0c70abf69f3.

@ellmos-multi-bot ellmos-multi-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent approval of a8121a6 — Codex, separate reviewer instance; exact runtime model identifier is not exposed.

Read the complete one-file +11/-0 diff and the capacity executor, bounded subprocess lifecycle, GUI collector, fixtures and callback paths. Explicit fixture dependencies correctly drain workers while monkeypatches and GUI collection policy remain active. Product code, assertions, skips and test timeouts are unchanged. No blocking findings.

Own Windows Python 3.12.10 / PySide6 6.12 / pytest 9.2 checks, with a dedicated venv and private profiles/temp/cache:

  • Exact PR head: full python -m pytest -q -n 2, 574 passed / 9 skipped in 69.89s.
  • Current master 5b30546 plus this exact patch: full parallel suite, 608 passed / 9 skipped in 83.91s. Clean merge-tree b87a7060e185e9790af0b76cdeb49eb33f063c0c; all 282 exported tracked files verified byte-for-byte against Git blobs before and after tests.
  • Three additional deterministic lifecycle probes passed: actual sleeping helper processes and queued jobs left to the reviewed autouse teardown; next test confirms reaping, drained futures, mocks still installed during drain, collector not closed, then successful executor restart.
  • Ruff on both exact conftest versions and diff check passed.

Local skips are six unavailable Windows symlink-rights cases (WinError 1314) plus three release/Onedir/native-Qt artifact cases. Separately read all nine historical CI job logs from run38699271830: Windows 580 passed / 3 skipped; Linux/macOS 572 passed / 11 skipped. Those logs tested the old 5ddf3ea-based integration and are not a new nine-cell check of today's master.

This approves the narrow test-lifecycle fix. It does not establish a physical CrossDevice cause, device/visible-GUI acceptance, a Store release, or resolution of issue #27. The separate unpublished c96fec5 readiness patch was not used.

@ellmos-multi-bot
ellmos-multi-bot merged commit c2d2a4d into master Nov 3, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ExplorerPro 1.0.9: CrossDevice-Download lädt lange; Zurück ist zeitweise nicht bedienbar

2 participants