Tighten orphan-SIGINT xfail to `strict=True`

Re-classify `test_orphaned_subactor_sigint_cleanup_DRAFT` from
flakey-env-sensitive (`strict=False` w/ "passes in isolation, flakey in
full suite") to a hard known-gap (`strict=True`) with the orphan-SIGINT
hang as the documented cause. The previous framing ("env pollution") let
the test silently pass when ordering happened to favor it; the new
framing forces an XPASS-as-FAIL the moment the underlying gap is
actually closed, so we can drop the mark intentionally instead of
accidentally.

Reason text + leading `# Known-gap test —` comment both point at
`ai/conc-anal/subint_forkserver_orphan_sigint_hang_issue.md`
for the full diagnosis.

(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
subint_forkserver_backend
Gud Boi 2026-04-24 22:48:35 -04:00
parent 2ca0f41e61
commit 44bdb1697c
1 changed files with 10 additions and 11 deletions

View File

@ -446,20 +446,19 @@ def _process_alive(pid: int) -> bool:
return False
# Flakey under session-level env pollution (leftover
# subactor PIDs from earlier tests competing for ports /
# inheriting the harness subprocess's FDs). Passes
# cleanly in isolation, fails in suite; `strict=False`
# so either outcome is tolerated until the env isolation
# is improved. Tracker:
# Known-gap test — `subint_forkserver` orphan-SIGINT
# handling. See
# `ai/conc-anal/subint_forkserver_orphan_sigint_hang_issue.md`.
# `strict=True` so if a future fix closes the gap the
# XPASS surfaces as a FAIL and forces us to drop the
# mark intentionally.
@pytest.mark.xfail(
strict=False,
strict=True,
reason=(
'Env-pollution sensitive. Passes in isolation, '
'flakey in full-suite runs; orphan subactor may '
'take longer than 10s to exit when competing for '
'resources with leftover state from earlier tests.'
'Orphan subactor SIGINT delivery: trio event loop '
'on non-main thread post-fork doesn\'t see the '
'external SIGINT → KBI path. See tracker doc.\n'
'ai/conc-anal/subint_forkserver_orphan_sigint_hang_issue.md'
),
)
@pytest.mark.timeout(