Skip to content

test: verify sync client teardown by owned resources - #73

Merged
Knucklessg1 merged 1 commit into
mainfrom
codex/owned-close-task10
Oct 8, 2026
Merged

Knucklessg1 merged 1 commit into
mainfrom
codex/owned-close-task10

Conversation

@Knucklessg1

Copy link
Copy Markdown
Member

The successful synchronous-client close test compared process-wide descriptor, socket, selector and thread totals. Unrelated event-loop cleanup could therefore fail an otherwise correct teardown; this caused the root Python job failure in run 37716787573.

Assert that each client's owned loop is closed and its thread has terminated. Keep the 32 repeated-connect/close cycles and exactly-once transport-close assertion. The retry test now proves its thread remains alive after the deliberately failed first stop and terminates after retry. Remove the unused process-count helper and obsolete Linux-only skips; these checks use portable owned objects.

The successful-close test deliberately closes an unrelated event loop during its first cycle, with subsequent cycles exercising stable-resource repeated close. This extends EG-CONTRACT-R021's owned-resource proof to the successful/retried close paths; no whole-spec or release acceptance is claimed.

Validation against b4e272d:

  • Baseline lifecycle suite: 5 passed.
  • Controlled pre-fix reproduction: stable case passes, unrelated-cleanup case fails because totals decrease from (16 FDs, 2 sockets, 1 selector) to (13, 0, 0).
  • Final lifecycle suite: 5 passed (0.21s).
  • In-memory negative controls: skipping teardown, leaving the selector open, and duplicate transport close each fail the repaired assertion. Actual test resources are cleaned afterward; no production code changed.
  • Broader lifecycle plus transport suite: baseline and candidate each report 25 passed, 13 failed. The same 13 declared tests fail because this source-only environment lacks the current native signing codec. No new failures; no native build requested or claimed.
  • CCCC differential: no new/worsened complexity. Dupehound has no changed production source; KISS has no changed Rust source.
  • All normal commit-stage checks passed, including Ruff, formatting, mypy, architecture, sanitizer and tracked privacy.
  • Combined-diff jscpd: 2,683 existing pairs before and after, zero new pairs.
  • All normal pre-push checks passed; no hook bypass.
  • Exact candidate: a9780ff.

Only tests/test_sync_client_lifecycle.py changes. No test suppression, hook bypass, native/release gate change or deployment. Merge remains parent-coordinated; run 37716787573 is FAILED, not qualified. Privacy PR71 is unchanged.

@Knucklessg1
Knucklessg1 marked this pull request as ready for review October 8, 2026 03:15
@Knucklessg1
Knucklessg1 merged commit 81d1260 into main Oct 8, 2026
6 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.

1 participant