-
Notifications
You must be signed in to change notification settings - Fork 5k
async_hooks,events,http,http2,perf_hooks: port Node.js async compatibility tests and fix the gaps they surface — ALS run/disable + withScope/defaultValue, http client ALS across reused agent sockets, http2 ALS context, AsyncResource.bind, EventEmitterAsyncResource, timerify (+22 tests) #31825
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
1456ea8
node compat: port node v26.3.0 async test suite, fix the bugs it found
cirospaciari 0713084
Address review feedback on perf_hooks, fs.cp, and validateObject
cirospaciari 25db90c
Expect verbatim caller paths in cp error assertions
cirospaciari b8d3801
Accept Buffer cp paths, advertise 'function' entry type, clear web ob…
cirospaciari a5a7c06
Validate cp callback-form paths synchronously
cirospaciari f3cf3bf
Fix stale post-run assert for AsyncLocalStorage defaultValue
cirospaciari 642d170
Make timerify entries instanceof PerformanceEntry; reject on invalid …
cirospaciari a34c136
Drop unreachable receiver guards in EventEmitterAsyncResource getters
cirospaciari a21eb30
Merge branch 'main' into claude/node-v26-async-tests
robobun 4edc0f0
Merge branch 'main' into claude/node-v26-async-tests
cirospaciari 2dd6199
Merge remote-tracking branch 'origin/main' into claude/node-v26-async…
cirospaciari 12df281
node:http: restore the request-time AsyncLocalStorage frame around cl…
cirospaciari 2f09f80
[autofix.ci] apply automated fixes
autofix-ci[bot] f284564
Scan key slots only on the run() entry path; use raw $asyncContext fo…
cirospaciari 424e897
Cache options.name in a local before testing it (oxlint no-duplicate-…
cirospaciari 39eb8f4
Merge remote-tracking branch 'origin/main' into claude/node-v26-async…
cirospaciari 7d91da8
http2: keep newListener/removeListener in the caller's ALS context
cirospaciari 40871a7
Merge remote-tracking branch 'origin/main' into claude/node-v26-async…
cirospaciari 7aa22f3
Merge remote-tracking branch 'origin/main' into claude/node-v26-async…
cirospaciari accf085
Route stopPerf through enqueueNodeEntry for a single observer-dispatc…
cirospaciari d3aca84
Address review: swap async-context frame at native seams, not emit()
alii 5dfc048
[autofix.ci] apply automated fixes
autofix-ci[bot] 5165c49
Merge remote-tracking branch 'origin/main' into claude/node-v26-async…
alii 5b3d9e9
perf_hooks/async_hooks: null-prototype descriptors; drop spurious per…
alii 5efa4bd
perf_hooks: restore top-level timerify export (Node v25.2+)
alii cc1f7b6
Address second-pass review: ALS defaultValue after disable, http/http…
alii c481392
http client: wrap responseOnTimeout in the request's async-context frame
alii 45ce5f0
Merge remote-tracking branch 'origin/main' into claude/node-v26-async…
cirospaciari a6b4058
Drop test-async-local-storage-weak-asyncwrap-leak
cirospaciari 5d06818
Merge remote-tracking branch 'origin/main' into claude/node-v26-async…
cirospaciari 16146a0
Merge branch 'main' into claude/node-v26-async-tests
cirospaciari 915d80a
async_hooks,perf_hooks: compare stores by SameValue, align perf_hooks…
cirospaciari 817b76a
[autofix.ci] apply automated fixes
autofix-ci[bot] 5a1b930
http,http2: keep the request's async context on early socket errors, …
cirospaciari 51d7947
test: pin the injected error in the early-socket-error async-context …
cirospaciari a1d425e
async_hooks,perf_hooks: restore after run() on a disabled storage, ha…
cirospaciari 5e2dd9a
http2: clear the session async-context frame before emitting 'close'
cirospaciari 5f95b0c
http2: clear the session async-context frame before destroy() can throw
cirospaciari 7d82861
http,http2: clear the captured async-context frame before user code c…
cirospaciari 5e8d421
test: close the session and socket the async-context frame tests leav…
cirospaciari 658b731
async_hooks: don't short-circuit run() on a disabled storage's masked…
cirospaciari fafa64d
test: drain instead of process.exit() in the last frame-cleanup subpr…
cirospaciari c7bb492
Merge branch 'main' into claude/node-v26-async-tests
robobun d804938
http2: drop the merge-duplicated enter/exitStreamAsyncContext path no…
robobun 1f2e4a6
async_hooks, http2: echo AsyncResource triggerAsyncId, honor endStrea…
cirospaciari 7d52ef1
test: disable() the enterWith()-installed stores the run() short-circ…
cirospaciari File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.