node/test/pummel
Anna Henningsen db6a31d1a1
src: do not track weak BaseObjects as childrens of Realms
Heap dumps are used for analyzing the relationship between
objects that keep each other alive, so that retainers of
memory can be detected and memory leaks fixed.

6e60ab744e broke this for a wide range of `BaseObject`
instances. Marking all `BaseObject`s, including weak ones,
as children of `Realm` and `Environment` instances gives
the incorrect impression that they are held alive by those
objects, effectively hiding the "real" set of strong roots
that keep other objects alive through GC.

An upcoming change in V8 will allow us to represent this
relationship between `Realm` and `Environment` and its
`BaseObject` and `CppgcMixin` instances properly.

Refs: e37cadf114
Refs: https://github.com/nodejs/node/pull/57417
Signed-off-by: Anna Henningsen <anna@addaleax.net>
PR-URL: https://github.com/nodejs/node/pull/63842
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2026-06-18 10:11:21 +02:00
..
pummel.status Revert "test: mark test-fs-watch-non-recursive flaky on Windows" 2024-09-25 13:18:52 +00:00
test-array-hash-collision.js build,test: test array index hash collision 2026-03-24 19:50:03 -03:00
test-blob-slice-with-large-size.js test: fix missing edge case in test-blob-slice-with-large-size 2025-05-23 20:45:46 +00:00
test-buffer-large-size-buffer-alloc-unsafe-slow.js test: skip the test if the buffer allocation fails 2025-06-20 06:12:31 +00:00
test-buffer-large-size-buffer-alloc-unsafe.js test: deflake test-buffer-large-size-buffer-alloc-unsafe 2025-06-22 09:43:35 +00:00
test-buffer-large-size-buffer-alloc.js test: deflake test-buffer-large-size-buffer-alloc 2025-06-18 20:26:25 +00:00
test-buffer-large-size-buffer-write.js test: skip the test if the buffer allocation fails 2025-06-20 06:12:31 +00:00
test-buffer-large-size-copy.js buffer: optimize Buffer.prototype.copy 2026-06-18 10:10:52 +02:00
test-buffer-large-size-slowbuffer.js test: skip the test if the buffer allocation fails 2025-06-20 06:12:31 +00:00
test-child-process-spawn-loop.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-crypto-argon2-nonblocking-constructor.js crypto: remove Argon2 KDF derivation from its job setup 2026-05-05 16:19:38 +02:00
test-crypto-dh-hash.js test: remove unnecessary syscall to cpuinfo 2025-02-10 22:17:47 +00:00
test-crypto-dh-keys.js crypto: add guards and adjust tests for BoringSSL 2026-05-05 16:19:51 +02:00
test-crypto-pqc-sign-verify-slh-dsa.mjs crypto: support SLH-DSA KeyObject, sign, and verify 2025-08-26 15:41:25 +00:00
test-dh-regr.js test: remove unnecessary syscall to cpuinfo 2025-02-10 22:17:47 +00:00
test-fs-largefile.js
test-fs-read-file-sync-utf8-memory.js fs: added test for missing call to uv_fs_req_cleanup 2025-04-12 13:08:12 -07:00
test-fs-readfile-tostring-fail.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-fs-watch-file-slow.js lib,test: enforce use of assert.fail via a lint rule 2025-12-11 15:23:33 +01:00
test-fs-watch-file.js
test-fs-watch-non-recursive.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-fs-watch-system-limit.js test: remove unnecessary syscall to cpuinfo 2025-02-10 22:17:47 +00:00
test-heapdump-dns.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-env.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-fs-promise.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-http2.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-heapdump-inspector.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-shadow-realm.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-tls.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-urlpattern.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-vm-script.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-worker.js test: use validateByRetainingPath in heapdump tests 2025-04-27 19:00:05 +00:00
test-heapdump-zlib.js src: do not track weak BaseObjects as childrens of Realms 2026-06-18 10:11:21 +02:00
test-heapdump-zstd.js src: track allocations made by zstd streams 2026-02-09 20:42:56 +00:00
test-heapsnapshot-near-heap-limit-big.js
test-heapsnapshot-near-heap-limit-bounded.js test: remove unnecessary syscall to cpuinfo 2025-02-10 22:17:47 +00:00
test-heapsnapshot-near-heap-limit-by-api.js test: remove unnecessary syscall to cpuinfo 2025-02-10 22:17:47 +00:00
test-heapsnapshot-near-heap-limit.js test: remove unnecessary syscall to cpuinfo 2025-02-10 22:17:47 +00:00
test-http-many-keep-alive-connections.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-http-upload-timeout.js
test-https-large-response.js
test-https-no-reader.js test: ensure assertions are reached on more tests 2025-11-11 09:56:18 +00:00
test-keep-alive.js
test-net-many-clients.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-net-pause.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-net-pingpong-delay.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-net-pingpong.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-net-timeout.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-net-timeout2.js
test-net-write-callbacks.js
test-next-tick-infinite-calls.js test: remove unnecessary syscall to cpuinfo 2025-02-10 22:17:47 +00:00
test-process-cpuUsage.js
test-process-hrtime.js
test-regress-GH-892.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-repl-paste-big-data.js repl: remove dependency on domain module 2026-03-06 15:38:36 +00:00
test-stream-pipe-multi.js
test-string-decoder-large-buffer.js test: skip the test if the buffer allocation fails 2025-06-20 06:12:31 +00:00
test-structuredclone-jstransferable.js src: avoid making JSTransferable wrapper object weak 2023-10-10 07:42:30 +00:00
test-timers.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-tls-server-large-request.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-tls-throttle.js
test-vm-memleak.js tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
test-vm-race.js
test-watch-file.js
test-webcrypto-derivebits-pbkdf2.js crypto: wire AES-KW in Web Cryptography when using BoringSSL 2026-05-19 14:08:25 +02:00
test-webcrypto-kangarootwelve-32bit-overflow.js crypto: guard against size_t overflow on experimental 32-bit arch 2026-05-05 16:19:22 +02:00
test-worker-take-heapsnapshot.js
testcfg.py