node/test/pummel
Matteo Collina 67b854d407
repl: remove dependency on domain module
Replace the domain-based error handling with AsyncLocalStorage and
setUncaughtExceptionCaptureCallback. This removes the REPL's dependency
on the deprecated domain module while preserving all existing behavior:

- Synchronous errors during eval are caught and displayed
- Async errors (setTimeout, promises, etc.) are caught via the
  uncaught exception capture callback
- Top-level await errors are caught and displayed
- The REPL continues operating after errors
- Multiple REPL instances can coexist with errors routed correctly

Changes:
- Use AsyncLocalStorage to track which REPL instance owns an async
  context, replacing domain's automatic async tracking
- Add setupExceptionCapture() to install
  setUncaughtExceptionCaptureCallback for catching async errors and
  routing them to the correct REPL
- Extract error handling logic into REPLServer.prototype._handleError()
- Wrap eval execution in replContext.run() for async context tracking
- Update newListener protection to check AsyncLocalStorage context
- Throw ERR_INVALID_ARG_VALUE if options.domain is passed

PR-URL: https://github.com/nodejs/node/pull/61227
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2026-03-25 10:40:14 +01:00
..
pummel.status
test-array-hash-collision.js build,test: test array index hash collision 2026-03-20 15:07:19 -03:00
test-blob-slice-with-large-size.js
test-buffer-large-size-buffer-alloc-unsafe-slow.js
test-buffer-large-size-buffer-alloc-unsafe.js
test-buffer-large-size-buffer-alloc.js
test-buffer-large-size-buffer-write.js
test-buffer-large-size-slowbuffer.js
test-child-process-spawn-loop.js
test-crypto-dh-hash.js
test-crypto-dh-keys.js
test-crypto-pqc-sign-verify-slh-dsa.mjs
test-dh-regr.js
test-fs-largefile.js
test-fs-read-file-sync-utf8-memory.js
test-fs-readfile-tostring-fail.js
test-fs-watch-file-slow.js lib,test: enforce use of assert.fail via a lint rule 2026-01-13 10:04:47 -03:00
test-fs-watch-file.js
test-fs-watch-non-recursive.js
test-fs-watch-system-limit.js
test-heapdump-dns.js
test-heapdump-env.js
test-heapdump-fs-promise.js
test-heapdump-http2.js
test-heapdump-inspector.js
test-heapdump-shadow-realm.js
test-heapdump-tls.js
test-heapdump-urlpattern.js
test-heapdump-vm-script.js
test-heapdump-worker.js
test-heapdump-zlib.js
test-heapdump-zstd.js src: track allocations made by zstd streams 2026-02-19 11:13:45 +01:00
test-heapsnapshot-near-heap-limit-big.js
test-heapsnapshot-near-heap-limit-bounded.js
test-heapsnapshot-near-heap-limit-by-api.js
test-heapsnapshot-near-heap-limit.js
test-http-many-keep-alive-connections.js
test-http-upload-timeout.js
test-https-large-response.js
test-https-no-reader.js
test-keep-alive.js
test-net-many-clients.js
test-net-pause.js
test-net-pingpong-delay.js
test-net-pingpong.js
test-net-timeout.js
test-net-timeout2.js
test-net-write-callbacks.js
test-next-tick-infinite-calls.js
test-process-cpuUsage.js
test-process-hrtime.js
test-regress-GH-892.js
test-repl-paste-big-data.js repl: remove dependency on domain module 2026-03-25 10:40:14 +01:00
test-stream-pipe-multi.js
test-string-decoder-large-buffer.js
test-structuredclone-jstransferable.js
test-timers.js
test-tls-server-large-request.js
test-tls-throttle.js
test-vm-memleak.js
test-vm-race.js
test-watch-file.js
test-webcrypto-derivebits-pbkdf2.js test: enforce better never-settling-promise detection 2026-01-20 14:26:59 +01:00
test-worker-take-heapsnapshot.js
testcfg.py