Repository navigation
test: prove launcher startup tree cleanup - #57
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Launcher startup failures and caller cancellation gain real-process tests that observe an owned root/child tree before the trigger, then assert both have exited when startup returns. Independent authenticated control connections preserve fixture ownership through these assertions and provide cooperative fallback cleanup without signalling by PID. Windows observations retain their native process handles before acknowledgement. Rejected-handshake and controlled-lease cases exercise cleanup, and healthy disposal is repeated.
This branch also carries the reviewed RPC/plugin operation names:
Rpc.CallAsync,Plugins.AwaitPluginActivationAsync,Plugins.CheckPluginUpdatesAsync, andPlugins.UpdatePluginsAsync, with generated route members, callers, API baseline, and migration notes.Validation on the earlier
240b3a4tree:The final review's process-identity and static-I/O findings are repaired at
2de3fb7, with a clean scoped re-review. Exact-source Windows lifecycle tests pass 40/40; slopwatch analyzed 1,766 files with zero issues, Release build has zero warnings/errors, and both formatting gates pass. Linux process-state diagnostics preserve the immediate observations without retrying or relaxing them.Exact
2de3fb7CI completed: Windows 4,542/4,542 and macOS 3,586/3,586 passed; Linux 3,582/3,586 passed, with four immediate child-exit assertions failing (net8 cancellation/invalid-line; net10 timeout/invalid-line). No skips. Diagnostics still found the same child identity after the parent had exited in two failures; two others were absent by the later snapshot. This proves the immediate completion acceptance fails, without establishing a persistent orphan.Draft and parked for a maintainer contract decision. .NET's parent exit wait does not guarantee that every descendant has exited, so the current test acceptance is stronger than the primitive used by the launcher. No retry window, skip, weakened assertion, production change or second final fix wave has been applied. The source findings are closed; the execution/contract gate is not. Current CI: https://github.com/Blind-Striker/opencode-sdk-dotnet/actions/runs/34000072847