test: keep finalization close fixture ref alive#64085
Open
trivikr wants to merge 1 commit into
Open
Conversation
The close fixture expects the registered object to still be reachable when the process emits exit. Keep a strong reference outside setup() so the assertion does not depend on platform-specific GC timing. Signed-off-by: Kamat, Trivikram <16024985+trivikr@users.noreply.github.com> Assisted-by: openai:gpt-5.5
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.
Follow-up to #63209
Fixes a flaky
parallel/test-process-finalizationfailure on win11-arm64.The
close.mjsfixture registered an object created insidesetup()and thenexpected the finalization callback to run during
exit. Sinceprocess.finalization.register()keeps only a weak reference, V8 can collectthat object after
setup()returns. When that happens, the callback is not runand the fixture fails with
shutdownCalled === false.Keep a strong reference to the object until the
exitassertion so the testcovers the intended behavior deterministically.
Refs: https://github.com/nodejs/reliability/issues?q=sort%3Aupdated-desc%20is%3Aissue%20state%3Aopen%20%22test-process-finalization%22
Example
Assisted-by: openai:gpt-5.5