Skip to content

test: stop native IPC fixture without restart - #3387

Merged
breznknecht merged 1 commit into
mainfrom
codex/fix-ipc-supervisor-test-lifecycle
Sep 16, 2026
Merged

breznknecht merged 1 commit into
mainfrom
codex/fix-ipc-supervisor-test-lifecycle

Conversation

@breznknecht

Copy link
Copy Markdown
Collaborator

Summary

  • stop the ExUnit-managed native IPC supervisor through stop_supervised/1 so its permanent child specification is removed
  • prevent endpoint-death tests from racing an automatic replacement core publication
  • assert that the endpoint descriptor is gone before classifying the admitted operation disconnect
  • preserve the strict distinction between indeterminate disconnects and confirmed core_replaced results

Root cause

The tests called Supervisor.stop/1 on a child started with start_supervised!/1. ExUnit retained the permanent child specification and restarted the endpoint with a new core_instance_id. The Swift helper then correctly returned either indeterminate or core_replaced depending on whether it read the descriptor before or after the replacement published.

Validation

  • native IPC helper integration module: 12 tests passed
  • formerly flaky disconnect test: 100 consecutive passes with the exact indeterminate assertion unchanged
  • make lint
  • mix format --check-formatted test/macos/native_ipc_helper_integration_test.exs
  • git diff --check
  • final acceptance review: PASS, no warnings

@breznknecht
breznknecht force-pushed the codex/fix-ipc-supervisor-test-lifecycle branch from a006260 to a7d8d61 Compare September 16, 2026 14:04
@breznknecht
breznknecht merged commit 9075840 into main Sep 16, 2026
11 checks passed
@breznknecht
breznknecht deleted the codex/fix-ipc-supervisor-test-lifecycle branch September 16, 2026 14:18
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