test: Add test coverage for "TSFN::Ref()" #1196
Merged
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.
We currently do not have a test for testing the
Ref(Env env)
function attached to the TSFN class. But I am not too sure if this is the best way to test this functionality. From what I understand this method is a wrapper aroundnapi_ref_threadsafe_function
which prevents the event loop from exiting until the tsfn gets destroyed by a call toRelease()
.My thought behind this approach is that we first reference this TSFN function, before the callback in
setTimeout
Unref's the TSFN which causes the event loop to exit. Though it appears that this tsfn should already be referenced prior to callingRef
, andnapi_ref_threadsafe_function
is idempotent so it has no effect. Is there a better approach to test this method? Also in what scenarios wouldnapi_ref_threadsafe_function
orTSFN::Ref()
be used? Thanks!