Fix: honor disabled xdist in L2 dispatcher - #2054
Conversation
Use pytest plugin-manager state instead of package importability. An explicit plugin disable keeps L2 children serial. Resource-phase concurrency remains available. Tests cover both command paths and the docs define the CLI contract.
|
Warning Review limit reachedNext included review available in 28 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ReviewDiffed Below is what I verified plus four smaller things worth a look before merge. Verified: the regression test genuinely fails pre-fixI replayed the new test's scenario against the unpatched So this is a real regression barrier, not a test written to pass. I also confirmed the plugin-state semantics on pytest 9.0.1 / pluggy 1.6.0:
Undersold in the PR body: this fixes two more configurationsThe new check also repairs cases the old
Worth a line in the PR body; the fix is broader than #1993 describes. Should fix: the warning branch has no coverage, and it is reachable
The obvious justification for skipping it ("xdist is never missing") does not hold, but not for the reason it first appears: Should fix: leftover
|
| call site | multi-runtime? | can it hit the bug? |
|---|---|---|
_st-sim-a2a3.yml / _st-sim-a5.yml DFX smokes |
no — each targets one runtime directory | no (direct-run fast path) |
_profiling-flags-smoke.yml |
no | no |
run-onboard-dfx-smokes/action.yml |
no, and --device "$device" is a single card → max_parallel == 1 |
no (two independent reasons) |
So this is a latent defect only reachable from a hand-written multi-runtime invocation. Merge risk is correspondingly low — the change cannot alter any CI job's behavior — but so is urgency.
Verdict
Approve-with-suggestions from my side (leaving the formal vote to a maintainer). The two Should fix items are small and independent of the core change; -n 0 only needs a decision, not necessarily code.
Summary
-p no:xdistauthoritative and run L2 children seriallyTesting
python -m pytest tests/ut/py/test_l2_dispatch.py -qa2a3simwith two runtimes,-p no:xdist, and--max-parallel 2a2a3simwith xdist enabled and two workersFixes #1993