Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions scripts/runner.node.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,7 @@ const skipsForLeaksan = (() => {
}
return readFileSync(path, "utf-8")
.split("\n")
.map(line => line.trim())
.filter(line => !line.startsWith("#") && line.length > 0);
})();

Expand Down
2 changes: 1 addition & 1 deletion test/cli/run/esm-fixture-leak-small.mjs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

80 changes: 5 additions & 75 deletions test/expectations.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,91 +17,21 @@
# Entries match by SUBSTRING, so a path prefix quarantines an entire family.
# A stale entry is invisible: the file simply never runs and nobody finds out.

# Tests that are broken
[ WINDOWS-AARCH64 ] test/js/node/test/parallel/test-repl-close.js [ FAIL ] # EPIPE on stdin.write to closed child process

# The whole file's beforeAll builds a napi addon with node-gyp, and the Windows
# agents have no ClangCL toolset ("MSB8020: The build tools for ClangCL cannot
# be found"), so nothing in the file can run there. Remove once the agent image
# ships ClangCL. Runs everywhere else.
# ships ClangCL. Runs everywhere else. (Verified still failing, build 87834.)
[ WINDOWS ] test/bundler/native-plugin.test.ts [ SKIP ] # node-gyp needs a ClangCL toolset the Windows agents do not have

# Verbatim node v26.3.0 test asserting a FinalizationRegistry callback fires
# within ONE globalThis.gc() + ONE setImmediate after the connect callback's
# closure is unreferenced. The FinalizationRegistry spec gives no timing
# guarantee for cleanup callbacks; JSC schedules them via DeferredWorkTimer
# with no defined ordering relative to the immediate queue. The connect
# listener IS removed (verified: listenerCount("secureConnect") === 0 in
# done()) and the object IS collected (test passes 70/70 on darwin and
# glibc Linux); on alpine x64 the FR callback delivery slips past the single
# setImmediate after this PR's added module loads at process startup shift
# the heap layout. The robust fix is gcUntil() rather than a single tick,
# but the file is a verbatim upstream port. Quarantined on the failing
# linux-x64-musl matrix only; still runs everywhere else (build 63145:
# alpine 3.23 x64 + x64-baseline only).
[ LINUX-X64-MUSL ] test/js/node/test/parallel/test-tls-connect-memleak.js [ FLAKY ] # JSC FinalizationRegistry callback delivery vs setImmediate timing on musl x64

# Both tests mock _handle.setKeepAlive and assert it receives SECONDS
# (libuv's uv_tcp_keepalive convention). In Bun, _handle is the public
# Bun.Socket whose setKeepAlive is documented in MILLISECONDS, so net.ts
# forwards ms. End-to-end kernel coverage (TCP_KEEPIDLE=4 for 4000ms on
# both Bun.connect and node:net) lives in test/js/bun/net/socket.test.ts.
test/js/node/test/parallel/test-net-connect-keepalive.js [ FAIL ] # asserts _handle.setKeepAlive gets seconds; Bun's _handle is Bun.Socket (ms)
test/js/node/test/parallel/test-net-server-keepalive.js [ FAIL ] # asserts _handle.setKeepAlive gets seconds; Bun's _handle is Bun.Socket (ms)

# Vendored node v26.3.0 stream tests blocked on missing native subsystems (see PR #31826)
test/js/node/test/parallel/test-stream-wrap.js [ FAIL ] # needs internal/test/binding + js_stream (net.Socket({handle}) libuv compat layer)
test/js/node/test/parallel/test-stream-wrap-drain.js [ FAIL ] # needs internal/js_stream_socket (net.Socket({handle}) libuv compat layer)
test/js/node/test/parallel/test-stream-wrap-encoding.js [ FAIL ] # needs internal/js_stream_socket (net.Socket({handle}) libuv compat layer)

# Spawns test-http-max-http-headers.js, which is not vendored, and asserts its
# exit code. Only "passed" before #32631 because the old node:test shim never
# awaited done-style callbacks, so the cp.on('close') assertions never ran.
# With the real (t, done) support, the second/fourth tests fail (child exits 1
# with "Module not found" where exit 0 is expected). Remove this entry once
# test-http-max-http-headers.js is vendored.
test/js/node/test/parallel/test-set-http-max-http-headers.js [ FAIL ] # spawns test-http-max-http-headers.js which is not vendored

# Tests failed due to ASAN: attempting free on address which was not malloc()-ed
[ ASAN ] test/integration/next-pages/test/dev-server-ssr-100.test.ts [ CRASH ]
[ ASAN ] test/integration/next-pages/test/next-build.test.ts [ CRASH ]
[ ASAN ] test/js/third_party/next-auth/next-auth.test.ts [ CRASH ]

# Tests failed due to ASAN: SEGV on unknown address
[ ASAN ] test/integration/next-pages/test/dev-server.test.ts [ CRASH ]

# Tests failed due to ASAN: use-after-poison
[ ASAN ] test/napi/napi.test.ts [ CRASH ] # can throw an exception from an async_complete_callback

# Tests failed due to ASAN: unknown-crash
[ ASAN ] test/js/sql/tls-sql.test.ts [ CRASH ] # After: Throws on illegal transactions

# Tests timed out due to ASAN
[ ASAN ] test/js/bun/spawn/spawn.test.ts [ TIMEOUT ]
[ ASAN ] test/cli/inspect/inspect.test.ts [ TIMEOUT ]

# Tests failed due to memory leaks
[ ASAN ] test/js/node/url/pathToFileURL.test.ts [ LEAK ] # pathToFileURL doesn't leak memory
[ ASAN ] test/js/node/fs/abort-signal-leak-read-write-file.test.ts [ LEAK ] # should not leak memory with already aborted signals
[ ASAN ] test/js/web/streams/streams-leak.test.ts [ LEAK ] # Absolute memory usage remains relatively constant when reading and writing to a pipe
[ ASAN ] test/cli/run/require-cache.test.ts [ LEAK ] # files transpiled and loaded don't leak file paths > via require()

# Windows-only gap in named-pipe half-close: WindowsNamedPipe::shutdown() /
# on_read_error(EOF) issue a full uv_close instead of uv_shutdown, so the
# final write after the peer half-closes is lost. Passes on Linux and macOS.
[ WINDOWS ] test/js/node/test/parallel/test-net-pingpong.js [ FAIL ] # named-pipe half-close (FIN) handling
[ WINDOWS ] test/js/node/test/parallel/test-net-server-listen-path.js [ FAIL ] # EADDRINUSE not reported for a second listen on the same pipe path

# Same Windows half-close + client-RST gap over a node:http server: the server
# half-closes (res.socket.end()) mid-upload, the fetch client RSTs the cut-short
# 10 MB POST body, and that RST is not surfaced to the server's still-open
# readable side on Windows, so the accepted connection never ends and
# server.close() (via `await using`) waits forever. The assertion itself passes;
# only the teardown hangs. Passes on Linux and macOS.
# (Verified still failing on both Windows lanes, build 87834.)
[ WINDOWS ] test/js/node/test/parallel/test-net-pingpong.js [ FAIL ] # named-pipe half-close: count 1000 !== 1001 at close

# Cluster workers sharing a listen port behave differently on Linux, where
# SO_REUSEPORT load-balances across the workers' own listeners instead of the
# primary distributing accepted connections; the upstream test's expectations
# only hold on the distributing model. Passes on macOS, Windows and FreeBSD.
# only hold on the distributing model. Passes on macOS and Windows.
# (Verified still failing on every Linux lane, build 87834.)
[ LINUX ] test/js/node/test/sequential/test-net-listen-shared-ports.js [ FAIL ] # SO_REUSEPORT shared-listener semantics on Linux
[ DARWIN ] test/js/bun/io/fetch/fetch-abort-slow-connect.test.ts [ FLAKY ] # connect-during-abort race depends on host routing of 192.0.2.1; darwin CI agents return an immediate routing error
55 changes: 0 additions & 55 deletions test/js/node/test/parallel/test-net-connect-keepalive.js

This file was deleted.

35 changes: 0 additions & 35 deletions test/js/node/test/parallel/test-net-server-keepalive.js

This file was deleted.

81 changes: 0 additions & 81 deletions test/js/node/test/parallel/test-set-http-max-http-headers.js

This file was deleted.

50 changes: 0 additions & 50 deletions test/js/node/test/parallel/test-stream-wrap-drain.js

This file was deleted.

43 changes: 0 additions & 43 deletions test/js/node/test/parallel/test-stream-wrap-encoding.js

This file was deleted.

Loading
Loading