libuv Validation
Port build from safelibs/port-libuv at commit 6ae92e0049e8 (release build-6ae92e0049e8)
Tests
libuv DNS getaddrinfo Original / libuv / dns-getaddrinfo Passed
libuv event loop timer Original / libuv / event-loop-timer Passed
libuv fs read write Original / libuv / fs-read-write Passed
libuv process pipe smoke Original / libuv / process-pipe-smoke Passed
libuv TCP loopback smoke Original / libuv / tcp-loopback-smoke Passed
Node.js AbortController cancels http request Original / libuv / usage-nodejs-abort-controller-http-request Passed
Issues an http request against a slow loopback server and aborts it via AbortController, then verifies the abort error.
Node.js fs.promises.readFile aborts via AbortController Original / libuv / usage-nodejs-abort-controller-readfile Passed
Aborts an fs.promises.readFile call before it resolves and verifies the rejection carries an AbortError code.
Node.js async_hooks executionAsyncId in setImmediate callback Original / libuv / usage-nodejs-async-hooks-execution-id Passed
Reads async_hooks.executionAsyncId at the top level and inside a setImmediate callback and asserts they are non-negative integers and differ.
Node.js Buffer.alloc(0) zero-length semantics Original / libuv / usage-nodejs-buffer-alloc-zero-length Passed
Allocates a zero-length Buffer and verifies length 0, base64/hex encodings are empty, equality with Buffer.from(''), and Buffer.concat([]) yields the same shape.
Node.js Buffer.concat large consistency Original / libuv / usage-nodejs-buffer-concat-large Passed
Concatenates many Buffer chunks with Buffer.concat and verifies sha256 equals the digest of the original payload.
nodejs buffer from hex Original / libuv / usage-nodejs-buffer-from-hex Passed
Node.js buffer.transcode utf8 to latin1 Original / libuv / usage-nodejs-buffer-transcode-utf8-latin1 Passed
Uses buffer.transcode to convert a UTF-8 encoded buffer containing Latin-1 representable characters into a latin1 encoded buffer and verifies the resulting byte length and decoded string.
Node.js child_process exec Original / libuv / usage-nodejs-child-process-exec Passed
Node.js child_process.execFile captures stdout Original / libuv / usage-nodejs-child-process-execfile-capture Passed
Invokes /bin/echo via child_process.execFile and asserts the captured stdout equals the expected payload with a zero exit status.
Node.js child_process.execFileSync passes argv array Original / libuv / usage-nodejs-child-process-execfilesync-args Passed
Calls execFileSync with /bin/printf and a multi-element args array and asserts the returned buffer contains the joined payload.
Node.js child_process execSync Original / libuv / usage-nodejs-child-process-execsync Passed
Node.js child_process.fork IPC message exchange Original / libuv / usage-nodejs-child-process-fork-ipc Passed
Forks a child Node.js process and exchanges a ping/pong message through the IPC channel, asserting the reply payload.
Node.js child_process.spawn detached=false stdout capture Original / libuv / usage-nodejs-child-process-spawn-detached-false Passed
Spawns /bin/echo with detached set explicitly to false, captures stdout, and asserts a clean exit with the expected payload.
Node.js child_process.spawn pipe stdin write Original / libuv / usage-nodejs-child-process-spawn-stdin-write Passed
Spawns /usr/bin/wc with piped stdio, writes a payload to stdin and asserts the byte count returned on stdout matches.
Node.js child_process.spawn stdout capture Original / libuv / usage-nodejs-child-process-spawn-stdout-capture Passed
Spawns /bin/echo with an argument and asserts the stdout chunks concatenate to the expected payload with exit code zero.
Node.js child process spawnSync Original / libuv / usage-nodejs-child-process-spawnsync-bash Passed
Runs a synchronous subprocess with child_process.spawnSync and verifies the captured stdout payload.
Node.js child process spawnSync Original / libuv / usage-nodejs-child-process-spawnsync Passed
Node.js child process Original / libuv / usage-nodejs-child-process Passed
Node.js crypto aes-256-gcm encrypt/decrypt round-trip Original / libuv / usage-nodejs-crypto-aes-256-gcm-roundtrip Passed
Encrypts a payload with crypto.createCipheriv aes-256-gcm, captures the auth tag, decrypts with createDecipheriv and the tag, and asserts the recovered plaintext matches.
Node.js crypto hash Original / libuv / usage-nodejs-crypto-createhash Passed
Node.js crypto.createSecretKey from raw bytes Original / libuv / usage-nodejs-crypto-createsecretkey-raw Passed
Builds a KeyObject from raw bytes via crypto.createSecretKey and verifies the symmetric type and that an HMAC computed via the KeyObject matches one computed from the raw buffer.
Node.js crypto ed25519 sign and verify Original / libuv / usage-nodejs-crypto-ed25519-sign-verify Passed
Generates an ed25519 keypair, signs a message with crypto.sign(null, ...), verifies it with crypto.verify, and asserts a tampered message fails verification.
Node.js crypto HMAC Original / libuv / usage-nodejs-crypto-hmac Passed
Node.js asynchronous PBKDF2 Original / libuv / usage-nodejs-crypto-pbkdf2 Passed
Node.js randomBytes async Original / libuv / usage-nodejs-crypto-randombytes-async-batch11 Passed
Node.js crypto randomBytes Original / libuv / usage-nodejs-crypto-randombytes Passed
Node.js crypto.randomFillSync buffer fill Original / libuv / usage-nodejs-crypto-randomfill-buffer-bytes Passed
Allocates a zero-filled buffer, fills a slice via crypto.randomFillSync, and asserts the slice changed.
Node.js crypto randomFill Original / libuv / usage-nodejs-crypto-randomfill Passed
Node.js crypto.randomUUID format check Original / libuv / usage-nodejs-crypto-randomuuid-format Passed
Generates several crypto.randomUUID values and validates they match RFC 4122 v4 format with version 4 and variant bits set correctly, and are unique across the batch.
Node.js crypto scrypt Original / libuv / usage-nodejs-crypto-scrypt Passed
Node.js crypto.scryptSync deterministic output Original / libuv / usage-nodejs-crypto-scryptsync-deterministic Passed
Calls crypto.scryptSync twice with identical password and salt and verifies it is deterministic and differs when the salt changes.
nodejs crypto sha256 hex Original / libuv / usage-nodejs-crypto-sha256-hex Passed
Computes a SHA-256 hex digest with Node crypto.createHash and verifies the deterministic digest of a known input.
Node.js crypto sha256 multi-update KAT Original / libuv / usage-nodejs-crypto-sha256-multi-update-kat Passed
Builds a sha256 digest with multiple update calls and verifies it against the published KAT for the concatenated input.
Node.js crypto.timingSafeEqual Original / libuv / usage-nodejs-crypto-timingsafeequal-constant-time Passed
Verifies crypto.timingSafeEqual returns true for identical buffers and false for differing ones of equal length.
Node.js dgram bind address Original / libuv / usage-nodejs-dgram-bind-address Passed
Node.js dgram bind ephemeral and reflect Original / libuv / usage-nodejs-dgram-bind-reflect-echo Passed
Binds a UDP4 socket to an ephemeral port on 127.0.0.1, reflects a datagram back to the sender, and verifies the round trip.
Node.js dgram buffer message Original / libuv / usage-nodejs-dgram-buffer-message-batch11 Passed
Node.js dgram close event Original / libuv / usage-nodejs-dgram-close-event Passed
Node.js dgram connect send Original / libuv / usage-nodejs-dgram-connect-send Passed
Node.js UDP connect Original / libuv / usage-nodejs-dgram-connect Passed
Node.js dgram UDP loopback round-trip Original / libuv / usage-nodejs-dgram-loopback-roundtrip Passed
Sends a UDP datagram to a loopback server which replies, and asserts the client receives the reply payload.
Node.js dgram message size Original / libuv / usage-nodejs-dgram-message-size Passed
Node.js dgram setMulticastTTL Original / libuv / usage-nodejs-dgram-set-multicast-ttl Passed
Binds a dgram udp4 socket to loopback and exercises setMulticastTTL without joining a multicast group, then closes cleanly.
Node.js dgram socket.address family and ephemeral port Original / libuv / usage-nodejs-dgram-socket-address-family Passed
Binds a udp4 dgram socket to port 0 on loopback and verifies socket.address() returns family IPv4, address 127.0.0.1, and a positive ephemeral port.
Node.js UDP two messages Original / libuv / usage-nodejs-dgram-two-messages Passed
Node.js dgram udp6 loopback over ::1 Original / libuv / usage-nodejs-dgram-udp6-loopback Passed
Creates a dgram udp6 socket bound to ::1 and round trips a datagram to itself, verifying the IPv6 loopback transport carries the payload.
Node.js dns.lookup all:true returns array Original / libuv / usage-nodejs-dns-lookup-all-localhost Passed
Resolves localhost via dns.lookup with all:true and verifies the returned array contains 127.0.0.1 with family 4.
Node.js dns.lookup localhost with family=4 Original / libuv / usage-nodejs-dns-lookup-family4 Passed
Resolves localhost via dns.lookup with the family option set to 4 and asserts the address is 127.0.0.1 with family 4.
Node.js dns.lookup localhost resolves to loopback Original / libuv / usage-nodejs-dns-lookup-localhost-loopback Passed
Node.js dns lookup Original / libuv / usage-nodejs-dns-lookup Passed
Node.js DNS promises lookup Original / libuv / usage-nodejs-dns-promises-lookup-batch11 Passed
Node.js event loop timer Original / libuv / usage-nodejs-event-loop-timer Passed
nodejs events emit listener Original / libuv / usage-nodejs-events-emit-listener Passed
Registers an EventEmitter listener and verifies the callback receives the emitted argument value.
Node.js EventEmitter once and removeListener semantics Original / libuv / usage-nodejs-events-once-removelistener Passed
Verifies a once-listener fires exactly once, a removed listener does not fire, and listenerCount reaches zero after both unsubscribe.
Node.js EventEmitter setMaxListeners and listenerCount Original / libuv / usage-nodejs-events-setmaxlisteners-count Passed
Registers more than the default listeners after raising setMaxListeners and verifies listenerCount returns the registered total without warnings.
Node.js execFile Original / libuv / usage-nodejs-execfile Passed
Node.js fs.access on existing and missing paths Original / libuv / usage-nodejs-fs-access-existing-and-missing Passed
Node.js fs.access W_OK and X_OK Original / libuv / usage-nodejs-fs-access-wok-xok Passed
Creates a writable plain file and an executable script then verifies fs.accessSync accepts W_OK on the file, X_OK on the script, and rejects X_OK on the plain non-executable file.
Node.js fs access Original / libuv / usage-nodejs-fs-access Passed
Node.js fs append file Original / libuv / usage-nodejs-fs-append-file Passed
Node.js fs.appendFile concurrent writes consistency Original / libuv / usage-nodejs-fs-appendfile-concurrent Passed
Issues many concurrent fs.appendFile writes to one file and verifies the resulting bytes contain every line exactly once.
Node.js fs chmod Original / libuv / usage-nodejs-fs-chmod Passed
Node.js fs copyFile Original / libuv / usage-nodejs-fs-copy-file Passed
Copies file bytes through fs.promises.copyFile and verifies the destination payload matches the source.
Node.js fs.copyFile with COPYFILE_FICLONE flag Original / libuv / usage-nodejs-fs-copyfile-ficlone-flag Passed
Copies a file using fs.promises.copyFile with the COPYFILE_FICLONE flag and asserts the destination contents match the source byte-for-byte.
Node.js fs.copyFile then fs.unlink chain Original / libuv / usage-nodejs-fs-copyfile-unlink-chain Passed
Copies a file with fs.copyFile, verifies the copy contents match, then unlinks the copy and asserts removal via fs.access.
Node.js fs.cp recursive directory copy Original / libuv / usage-nodejs-fs-cp-recursive Passed
Builds a small directory tree and copies it recursively with fs.promises.cp, then asserts files and contents at the destination.
Node.js fs.cpSync recursive copy Original / libuv / usage-nodejs-fs-cpsync-recursive Passed
Builds a nested directory tree and copies it with fs.cpSync recursive:true, verifying every file lands at the expected destination path with matching contents.
Node.js recursive mkdir Original / libuv / usage-nodejs-fs-mkdir-recursive Passed
Node.js fs mkdtemp Original / libuv / usage-nodejs-fs-mkdtemp Passed
Node.js fs promises mkdtemp Original / libuv / usage-nodejs-fs-promises-mkdtemp-batch11 Passed
Node.js fs promises readFile Original / libuv / usage-nodejs-fs-promises-readfile Passed
Node.js fs.promises write/read sha256 round trip Original / libuv / usage-nodejs-fs-promises-sha256-roundtrip Passed
Writes random bytes via fs.promises.writeFile and verifies fs.promises.readFile returns identical content by sha256.
Node.js fs promises Original / libuv / usage-nodejs-fs-promises Passed
Node.js fs read write Original / libuv / usage-nodejs-fs-read-write Passed
Node.js fs readdir dirents Original / libuv / usage-nodejs-fs-readdir-dirents Passed
Lists directory entries with fs.readdir using Dirent objects and verifies both filenames are present.
Node.js fs readdir names Original / libuv / usage-nodejs-fs-readdir-names Passed
Lists directory children through fs.promises.readdir and verifies the expected filenames are returned.
Node.js fs.readFileSync vs fs.readFile equal bytes Original / libuv / usage-nodejs-fs-readfilesync-vs-async-equal Passed
Reads the same file via fs.readFileSync and the async fs.readFile and verifies the returned buffers are byte-identical.
Node.js fs.readlinkSync vs fs.readlink async parity Original / libuv / usage-nodejs-fs-readlinksync-vs-async Passed
Creates a symlink and verifies fs.readlinkSync and the async fs.readlink callback API both return the same target string.
Node.js fs.readv vectored read Original / libuv / usage-nodejs-fs-readv-vectored Passed
Reads a file through Node.js fs.readv into two buffers and verifies both segments are populated correctly.
Node.js realpath native Original / libuv / usage-nodejs-fs-realpath-native-batch11 Passed
Node.js fs.realpath resolves through a symlink Original / libuv / usage-nodejs-fs-realpath-through-symlink Passed
Creates a directory symlink and asserts fs.promises.realpath resolves a path through it to the canonical target.
Node.js fs realpath Original / libuv / usage-nodejs-fs-realpath Passed
Node.js fs rename file Original / libuv / usage-nodejs-fs-rename-file Passed
Renames a file with Node.js fs.promises.rename and verifies the destination keeps the original payload.
Node.js fs rename Original / libuv / usage-nodejs-fs-rename Passed
Node.js fs.stat with bigint=true returns BigInt sizes Original / libuv / usage-nodejs-fs-stat-bigint Passed
Calls fs.promises.stat with the bigint option and asserts size, ino, and mtimeNs are BigInt values matching the byte length.
nodejs fs stat isFile Original / libuv / usage-nodejs-fs-stat-isfile Passed
Node.js fs stat size Original / libuv / usage-nodejs-fs-stat-size Passed
Node.js fs.statfs filesystem info Original / libuv / usage-nodejs-fs-statfs-info Passed
Calls Node.js fs.statfs against the temp directory and verifies the returned filesystem block totals look sane.
Node.js fs symlink readlink unlink chain Original / libuv / usage-nodejs-fs-symlink-readlink-unlink-chain Passed
Creates a symlink with Node.js fs.symlink, reads it back with fs.readlink, then removes it with fs.unlink and verifies it is gone.
Node.js fs symlink readlink Original / libuv / usage-nodejs-fs-symlink-readlink Passed
nodejs fs truncate Original / libuv / usage-nodejs-fs-truncate-file Passed
Truncates a file to eight bytes through Node fs.truncateSync and verifies the shortened content.
Node.js fs utimes Original / libuv / usage-nodejs-fs-utimes Passed
Node.js fs.watch directory create event Original / libuv / usage-nodejs-fs-watch-directory-create Passed
Watches a directory with fs.watch and verifies a rename event fires when a new file is created inside it.
Node.js fs.watch directory rename event Original / libuv / usage-nodejs-fs-watch-rename-event Passed
Watches a temporary directory and verifies fs.watch surfaces a rename event when a new file appears.
Node.js fs.watch change event Original / libuv / usage-nodejs-fs-watch Passed
Runs Node.js fs.watch on a temporary file and verifies a change event arrives through the event loop.
Node.js fs watchFile Original / libuv / usage-nodejs-fs-watchfile-batch11 Passed
nodejs fs write stream end Original / libuv / usage-nodejs-fs-write-stream-end Passed
Writes through a Node fs.createWriteStream and verifies the end callback fires after the buffered payload is flushed.
Node.js fs.writev vectored write Original / libuv / usage-nodejs-fs-writev-vectored Passed
Writes two buffers through Node.js fs.writev in a single call and verifies the concatenated file content.
Node.js http.Agent keep-alive socket reuse Original / libuv / usage-nodejs-http-agent-keepalive-reuse Passed
Issues two sequential HTTP requests through a keep-alive Agent on loopback and verifies the same TCP socket port is reused.
Node.js http.createServer + http.request loopback round trip Original / libuv / usage-nodejs-http-loopback-roundtrip Passed
Starts an http server on 127.0.0.1, issues an http.request POST, and asserts the echoed body matches with the expected Content-Length.
Node.js http2 loopback request Original / libuv / usage-nodejs-http2-localhost Passed
Starts an http2 server on 127.0.0.1 with allowHTTP1 and exchanges a single request via the http2 client.
Node.js net client local address Original / libuv / usage-nodejs-net-client-local-address Passed
Connects to a loopback TCP server through net and verifies the client local address is reported as loopback.
Node.js net.connect localPort binding Original / libuv / usage-nodejs-net-connect-localport-binding Passed
Binds an outgoing net.connect to an OS-assigned localPort by passing localAddress and verifies the client's reported localPort is non-zero.
Node.js net echo Original / libuv / usage-nodejs-net-echo Passed
Node.js net end event Original / libuv / usage-nodejs-net-end-event Passed
Node.js net isIP Original / libuv / usage-nodejs-net-isip-loopback Passed
Validates the loopback literal with Node.js net.isIP and verifies the API reports an IPv4 address.
Node.js net.isIPv4 and net.isIPv6 classification Original / libuv / usage-nodejs-net-isipv4-isipv6 Passed
Checks net.isIPv4 and net.isIPv6 return the expected booleans for a representative set of IPv4 addresses, IPv6 addresses, and non-addresses.
Node.js net server address Original / libuv / usage-nodejs-net-server-address Passed
Node.js net server close callback Original / libuv / usage-nodejs-net-server-close-callback Passed
Node.js net loopback echo with sha256 verification Original / libuv / usage-nodejs-net-server-echo-bidir Passed
Binds a TCP server on 127.0.0.1, echoes a 16 KiB payload back to a client, and verifies sha256 equality.
Node.js net server listen with backlog parameter Original / libuv / usage-nodejs-net-server-listen-backlog Passed
Calls server.listen with an explicit backlog argument and verifies the bound socket still accepts a loopback client connection.
Node.js net.Server listen port=0 yields ephemeral port Original / libuv / usage-nodejs-net-server-listen-port-zero Passed
Listens on 127.0.0.1 with port set to 0 and verifies server.address().port is in the ephemeral range and the server accepts a loopback connection.
Node.js net.Server maxConnections enforcement Original / libuv / usage-nodejs-net-server-maxconnections Passed
Configures net.Server.maxConnections=1, opens two clients, and verifies the second connection is dropped while the first is served.
Node.js net server two concurrent clients Original / libuv / usage-nodejs-net-server-two-clients-concurrent Passed
Binds a TCP server on 127.0.0.1 and accepts two concurrent client connections, verifying each receives its own greeting.
Node.js net.Socket setKeepAlive on loopback connection Original / libuv / usage-nodejs-net-socket-setkeepalive Passed
Calls socket.setKeepAlive(true, delay) on a client connected to a loopback server and verifies the connection completes a successful echo round-trip.
Node.js process.nextTick precedes queueMicrotask Original / libuv / usage-nodejs-nexttick-before-microtask Passed
Schedules process.nextTick and queueMicrotask in the same tick and asserts nextTick callbacks drain before the microtask queue.
Node.js nextTick and timeout Original / libuv / usage-nodejs-nexttick-timeout Passed
Node.js opendir Original / libuv / usage-nodejs-opendir Passed
Node.js os.cpus and memory totals are positive Original / libuv / usage-nodejs-os-cpus-mem-positive Passed
Verifies os.cpus() returns a non-empty array and os.totalmem and os.freemem return positive integers with totalmem >= freemem.
nodejs os.tmpdir defined Original / libuv / usage-nodejs-os-tmpdir-defined Passed
Reads the platform temporary directory through Node os.tmpdir and verifies a non-empty string is returned.
Node.js posix path.normalize keeps backslash literal Original / libuv / usage-nodejs-path-normalize-backslash Passed
Verifies path.posix.normalize treats backslash as a literal character on Linux and that path.normalize collapses redundant separators.
Node.js path.parse on absolute path with path.format reconstruction Original / libuv / usage-nodejs-path-parse-absolute Passed
Parses an absolute POSIX path with path.parse, asserts every component, and verifies path.format reconstructs the original string from the parsed object.
Node.js path.relative between absolute paths Original / libuv / usage-nodejs-path-relative-between-abs Passed
Computes relative paths between two absolute filesystem paths with path.relative and verifies forward and backward traversal segments.
Node.js perf_hooks createHistogram record Original / libuv / usage-nodejs-perf-hooks-histogram Passed
Creates a perf_hooks histogram, records several integer samples and verifies min, max and count reflect the recorded values.
Node.js process.cpuUsage and os.uptime sanity Original / libuv / usage-nodejs-process-cpu-os-uptime Passed
Asserts process.cpuUsage diff is non-negative after busy work and os.uptime returns a positive number.
nodejs hrtime bigint monotonic Original / libuv / usage-nodejs-process-hrtime-bigint Passed
Reads two consecutive process.hrtime.bigint samples through Node and verifies the second value is not earlier than the first.
Node.js process.hrtime tuple monotonic with diff Original / libuv / usage-nodejs-process-hrtime-tuple Passed
Captures process.hrtime() once and again with the prior tuple as the diff base and asserts the elapsed seconds and nanoseconds are non-negative integers.
Node.js process.memoryUsage rss and heap fields positive Original / libuv / usage-nodejs-process-memory-usage-rss Passed
Calls process.memoryUsage() and asserts rss, heapTotal, heapUsed, and external are positive numbers with heapUsed <= heapTotal.
Node.js AsyncLocalStorage propagates store across awaits Original / libuv / usage-nodejs-r10-async-local-storage-context Passed
Runs two concurrent ALS.run scopes, awaits a setImmediate plus a setTimeout chain in each, and asserts each promise resolves to its own scope's store value.
Node.js events.on async iterator collects emitted payloads Original / libuv / usage-nodejs-r10-events-on-async-iterator Passed
Uses events.on to async-iterate a chain of typed events on an EventEmitter, breaking after a known count, and asserts the iterator yields the expected payload sequence.
Node.js fs.cpSync recursive copy with filter callback Original / libuv / usage-nodejs-r10-fs-cpsync-filter-callback Passed
Recursively copies a directory tree with fs.cpSync using a filter that excludes .skip files, then verifies only the non-skipped entries appear at the destination.
Node.js http server addTrailers chunked response Original / libuv / usage-nodejs-r10-http-server-trailers-loopback Passed
Starts an http.Server on 127.0.0.1, writes a chunked response with addTrailers, requests it via http.get, and asserts the trailers object on the client response carries the expected key/value pair.
Node.js net loopback over a Unix domain socket Original / libuv / usage-nodejs-r10-net-unix-socket-roundtrip Passed
Binds a net.Server on a filesystem Unix domain socket, sends a 4 KiB payload from a client, and verifies the bytes echo back unchanged via sha256 equality.
Node.js perf_hooks monitorEventLoopDelay records samples Original / libuv / usage-nodejs-r10-perf-eventloop-delay-monitor Passed
Enables a monitorEventLoopDelay histogram, busy-waits to trigger samples, and asserts the histogram exposes a positive min/max in nanoseconds and a nonzero count after disable.
Node.js TextDecoder utf-16le strips BOM Original / libuv / usage-nodejs-r10-text-decoder-utf16le-bom Passed
Encodes ASCII text into a UTF-16LE byte sequence with a leading 0xFF 0xFE BOM and verifies the standard TextDecoder('utf-16le') decodes it without surfacing the BOM in the resulting string.
Node.js vm.runInNewContext isolates the global object Original / libuv / usage-nodejs-r10-vm-runinnewcontext-isolation Passed
Evaluates code in two independent vm contexts and verifies a name set in one is not visible in the other while a value can still be returned to the calling scope.
Node.js worker postMessage transferList detaches ArrayBuffer Original / libuv / usage-nodejs-r10-worker-transferlist-arraybuffer Passed
Posts an ArrayBuffer to a worker via the transferList, has the worker echo back its byteLength, and verifies the parent-side ArrayBuffer is detached (byteLength == 0) after transfer.
Node.js zlib deflateRawSync inflateRawSync roundtrip Original / libuv / usage-nodejs-r10-zlib-deflateraw-roundtrip Passed
Compresses 32 KiB of pseudo-random bytes with zlib.deflateRawSync (no zlib header) and verifies inflateRawSync recovers the original payload byte-for-byte.
Node.js BroadcastChannel delivers postMessage between same-named channels Original / libuv / usage-nodejs-r11-broadcastchannel-cross-channel Passed
Opens two BroadcastChannel instances with the same name, posts a string from one, and asserts the other receives it via the onmessage handler.
Node.js crypto.createPublicKey extracts ed25519 public key from PKCS8 PEM private Original / libuv / usage-nodejs-r11-crypto-publickey-from-private-pem Passed
Generates an ed25519 keypair, exports the private key as PKCS8 PEM, derives the public KeyObject from that PEM via createPublicKey, and asserts its SPKI export equals the original public PEM.
Node.js dgram setBroadcast returns positive recv and send buffer sizes Original / libuv / usage-nodejs-r11-dgram-setbroadcast-buffer-sizes Passed
Binds a UDP4 socket on a random loopback port, calls setBroadcast(true), then verifies getRecvBufferSize and getSendBufferSize both report kernel-positive values.
Node.js events.once awaits next emit and resolves with full argument tuple Original / libuv / usage-nodejs-r11-events-once-promise-args Passed
Schedules a deferred emit of a two-argument ready event and asserts the events.once Promise resolves to an ordered array with both arguments.
Node.js querystring stringify and parse round-trip with custom separator and equals Original / libuv / usage-nodejs-r11-querystring-custom-separator-roundtrip Passed
Stringifies an object using semicolon separator and tilde assignment, asserts the encoded shape, then re-parses to the original key/value pairs.
Node.js querystring.parse aggregates repeated keys into arrays Original / libuv / usage-nodejs-r11-querystring-parse-multi-value Passed
Parses a query string with two repeated color= entries plus a singleton size= and asserts color is an ordered string array while size remains a scalar string.
Node.js tty.isatty returns false for piped stdin and unknown fds Original / libuv / usage-nodejs-r11-tty-isatty-pipe-false Passed
Pipes empty stdin into node and asserts tty.isatty(0) is false, plus asserts a clearly-unbound fd 99 also reports false.
Node.js util.callbackify wraps an async function into node-style callback Original / libuv / usage-nodejs-r11-util-callbackify-roundtrip Passed
Wraps an async function that doubles its argument with util.callbackify and asserts the resulting callback receives a null error and the doubled value.
Node.js util.format substitutes %s %d %j placeholders Original / libuv / usage-nodejs-r11-util-format-placeholders Passed
Builds a formatted string with %s, %d, and %j placeholders against a string, integer, and JSON-serializable object and asserts the result matches the expected concatenation byte-for-byte.
Node.js util.types discriminates ArrayBuffer, Promise, and AsyncFunction Original / libuv / usage-nodejs-r11-util-types-arraybuffer-promise Passed
Calls util.types.isArrayBuffer, isPromise, and isAsyncFunction with positive and negative samples and asserts each predicate returns true only for the matching primitive.
Node.js child_process.spawn collects stdout from /bin/echo Original / libuv / usage-nodejs-r12-child-process-spawn-stdout Passed
Spawns /bin/echo with an argument, collects stdout, and asserts the buffer contains the expected token followed by a newline with exit code 0.
Node.js dgram udp4 binds an ephemeral port and exposes 127.0.0.1 address Original / libuv / usage-nodejs-r12-dgram-udp4-port-zero Passed
Creates a udp4 socket bound to port 0 on 127.0.0.1 and asserts socket.address() reports the loopback address with a non-zero allocated port.
Node.js dns.lookup of localhost resolves to a loopback IPv4 address Original / libuv / usage-nodejs-r12-dns-resolve4-localhost Passed
Calls dns.lookup('localhost', {family:4}) and asserts the resolved address is in the 127.0.0.0/8 range with family 4.
Node.js fs.promises.mkdtemp creates a unique directory under a prefix Original / libuv / usage-nodejs-r12-fs-promises-mkdtemp-prefix Passed
Calls fs.promises.mkdtemp with a prefix in a known parent and asserts the returned path starts with the prefix and exists as a directory.
Node.js fs.promises.readFile decodes UTF-8 with explicit encoding Original / libuv / usage-nodejs-r12-fs-promises-readfile-utf8 Passed
Writes a UTF-8 file containing non-ASCII characters and asserts fs.promises.readFile with encoding 'utf8' returns the original string.
Node.js fs.promises.stat distinguishes file from directory Original / libuv / usage-nodejs-r12-fs-promises-stat-isdirectory Passed
Calls fs.promises.stat against a regular file and its parent directory and asserts isFile and isDirectory return the expected booleans for each.
Node.js net.createServer + net.connect echo over an ephemeral 127.0.0.1 port Original / libuv / usage-nodejs-r12-net-tcp-loopback-port-zero Passed
Listens on port 0 of 127.0.0.1, has the server echo bytes back, and asserts the client receives the same payload it sent.
Node.js os.cpus returns an array of CPU descriptors with positive speeds Original / libuv / usage-nodejs-r12-os-cpus-fields Passed
Calls os.cpus and asserts the result is a non-empty array whose entries have a numeric speed and a times object with idle/user fields.
Node.js os.networkInterfaces reports the loopback IPv4 entry Original / libuv / usage-nodejs-r12-os-networkinterfaces-loopback Passed
Filters os.networkInterfaces for an IPv4 entry with internal=true and address 127.0.0.1, asserting at least one interface exposes loopback.
Node.js setImmediate fires after I/O when scheduled inside an fs callback Original / libuv / usage-nodejs-r12-setimmediate-vs-settimeout-zero Passed
Schedules setTimeout(0) and setImmediate inside an fs.readFile callback and asserts setImmediate fires before setTimeout(0), per Node's documented I/O-then-immediate ordering.
Node.js Buffer.from with base64 encoding decodes back to original bytes Original / libuv / usage-nodejs-r13-buffer-from-base64-decode Passed
Builds a base64 string from the literal text 'libuv-r13', decodes it via Buffer.from with the 'base64' encoding, and asserts the resulting buffer round-trips to the same UTF-8 string and length.
Node.js crypto.createHash sha256 matches the published KAT digest for 'abc' Original / libuv / usage-nodejs-r13-crypto-hash-sha256-hex Passed
Computes sha256 of the string 'abc' via crypto.createHash and asserts the hex digest equals the well-known FIPS 180-4 KAT value ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.
Node.js fs.promises.appendFile appends data to an existing file Original / libuv / usage-nodejs-r13-fs-appendfile-grows-file Passed
Writes an initial line to a file, calls fs.promises.appendFile with a second line, and asserts the resulting contents are the concatenation of both writes in order.
Node.js fs.constants exposes POSIX access bits with conventional values Original / libuv / usage-nodejs-r13-fs-constants-flags Passed
Reads fs.constants and asserts F_OK/R_OK/W_OK/X_OK are integers with the standard POSIX values 0/4/2/1, and that O_CREAT and O_RDONLY are exposed as numeric flags.
Node.js fs.cp with recursive copies a nested directory tree Original / libuv / usage-nodejs-r13-fs-cp-recursive-directory Passed
Builds a two-level source directory with a file at each level, calls fs.promises.cp with recursive=true, and asserts both files are present at the destination with matching content.
Node.js fs.promises.realpath resolves a symlink to its target file Original / libuv / usage-nodejs-r13-fs-realpath-resolves-symlink Passed
Creates a target file and a relative symlink, calls fs.promises.realpath on the symlink, and asserts the resolved absolute path equals the realpath of the target.
Node.js perf_hooks.performance.now is monotonic across a setTimeout delay Original / libuv / usage-nodejs-r13-perf-hooks-now-monotonic Passed
Captures performance.now before and after a 25 ms setTimeout, asserts the second sample is strictly greater than the first, and that the elapsed delta is at least 20 ms.
Node.js stream/promises pipeline writes a Readable iterable into a file Original / libuv / usage-nodejs-r13-stream-pipeline-async-promise Passed
Awaits stream.promises.pipeline of a Readable.from iterable into fs.createWriteStream and asserts the destination file contains the concatenated chunks in order.
Node.js setInterval fires repeatedly until clearInterval stops it Original / libuv / usage-nodejs-r13-timers-clear-interval Passed
Schedules a 5 ms setInterval that increments a counter, calls clearInterval after the third tick, and asserts the counter stayed at exactly three after a longer wait.
Node.js worker_threads postMessage round-trips a payload from worker to parent Original / libuv / usage-nodejs-r13-worker-postmessage-roundtrip Passed
Spawns a Worker with eval=true that listens for a parent message and posts back the squared value, then asserts the parent receives the expected response and the worker exits cleanly with code 0.
Node.js events.once resolves with the emitted argument array Original / libuv / usage-nodejs-r14-events-once-emit-promise Passed
Constructs an EventEmitter, schedules emit('ready', 'a', 'b') on the next tick, and awaits events.once(emitter, 'ready') asserting the resolved value is the array ['a', 'b'].
Node.js fs.promises.access reports F_OK and R_OK on a readable file Original / libuv / usage-nodejs-r14-fs-promises-access-constants Passed
Writes a probe file and awaits fs.promises.access twice with fs.constants.F_OK and fs.constants.R_OK, asserting both calls resolve without throwing while access for a non-existent path is rejected with an Error whose code is 'ENOENT'.
Node.js fs.promises.lstat reports symlink status without following the link Original / libuv / usage-nodejs-r14-fs-promises-lstat-symlink Passed
Creates a regular file and a symbolic link pointing to it, awaits fs.promises.lstat on the link, and asserts isSymbolicLink is true and isFile is false; then awaits fs.promises.stat on the same link and asserts isFile is true (target is followed).
Node.js fs.promises.readdir with withFileTypes returns Dirent entries Original / libuv / usage-nodejs-r14-fs-promises-readdir-with-file-types Passed
Creates a temp directory with one regular file and one subdirectory, then awaits fs.promises.readdir with withFileTypes:true and asserts the returned Dirent entries report the correct names and isFile/isDirectory classification.
Node.js fs.promises.utimes sets atime and mtime to deterministic epoch seconds Original / libuv / usage-nodejs-r14-fs-promises-utimes-roundtrip Passed
Writes a probe file, calls fs.promises.utimes with explicit atime=1700000000 and mtime=1600000000 epoch-second values, then awaits fs.promises.stat and asserts the returned atimeMs and mtimeMs match the requested seconds (within sub-second tolerance for filesystem timestamp resolution).
Node.js http.METHODS lists GET/POST and STATUS_CODES maps 200 to OK Original / libuv / usage-nodejs-r14-http-methods-and-status-codes Passed
Reads http.METHODS and asserts it is a non-empty array containing at least 'GET', 'POST', 'PUT', 'DELETE', and 'HEAD', then verifies http.STATUS_CODES[200] equals 'OK' and STATUS_CODES[404] equals 'Not Found'.
Node.js os.userInfo and os.uptime expose real numeric process and host data Original / libuv / usage-nodejs-r14-os-userinfo-uptime Passed
Calls os.userInfo() and asserts the returned object exposes string username/homedir/shell fields with a numeric uid/gid, then calls os.uptime() and asserts it returns a positive finite number.
Node.js querystring.stringify and parse round-trip a multi-key object Original / libuv / usage-nodejs-r14-querystring-stringify-roundtrip Passed
Calls querystring.stringify on an object with mixed string and number values, asserts the encoded form contains the expected key=value pairs joined by ampersands, and parses the result back asserting numeric values come back as their string representation.
Node.js stream.Readable.from yields each item via async iteration Original / libuv / usage-nodejs-r14-stream-readable-from-iterate Passed
Builds a Readable stream from an array via stream.Readable.from and iterates it with for-await-of, asserting the collected sequence equals the source array element-for-element.
Node.js util.types.isPromise distinguishes native promises from plain objects Original / libuv / usage-nodejs-r14-util-types-is-promise Passed
Asserts util.types.isPromise returns true for Promise.resolve() and an async-function call, and returns false for plain objects, thenables, and primitive values.
Node.js Buffer.byteLength reports two-byte length for the registered-trademark sign in UTF-8 Original / libuv / usage-nodejs-r15-buffer-write-utf8-byte-length Passed
Calls Buffer.byteLength on a string containing the registered-trademark sign and asserts the UTF-8 encoded length is 2 bytes (2-byte sequence) while the JavaScript string length stays at 1 character.
Node.js crypto.pbkdf2Sync produces deterministic output for fixed inputs Original / libuv / usage-nodejs-r15-crypto-pbkdf2-sync-deterministic Passed
Calls crypto.pbkdf2Sync('password','salt-r15',1000,16,'sha256') twice and asserts both invocations return Buffers of length 16 with byte-identical contents (PBKDF2 is deterministic for fixed inputs).
Node.js fs.promises.copyFile duplicates source bytes into destination Original / libuv / usage-nodejs-r15-fs-promises-copyfile-roundtrip Passed
Writes a known payload to a source file, calls fs.promises.copyFile to a sibling destination, and asserts the destination contains identical bytes via fs.promises.readFile compared to the source.
Node.js fs.promises.rmdir removes an empty directory and reports ENOENT afterwards Original / libuv / usage-nodejs-r15-fs-promises-rmdir-empty Passed
Creates an empty directory, calls fs.promises.rmdir on it, then awaits fs.promises.stat and asserts the rejection has code 'ENOENT' confirming the directory no longer exists.
Node.js net.Server on 127.0.0.1 echoes a payload back to the client Original / libuv / usage-nodejs-r15-net-server-localhost-echo Passed
Starts a TCP server bound to 127.0.0.1 on port 0 that echoes received data, connects a client, sends a fixed payload, and asserts the client receives the same bytes back before close.
Node.js os.endianness, os.arch, and os.platform expose well-formed identifiers Original / libuv / usage-nodejs-r15-os-endianness-arch-platform Passed
Calls os.endianness, os.arch, and os.platform and asserts endianness is 'BE' or 'LE', platform equals 'linux' on Ubuntu 24.04, and arch is one of the known Node.js architecture strings.
Node.js path.resolve produces an absolute path from compound segments Original / libuv / usage-nodejs-r15-path-resolve-absolute Passed
Calls path.resolve('/abs', 'sub', '..', 'final') and asserts the result equals '/abs/final', confirming '..' segments collapse and the result is anchored at the leading absolute prefix.
Node.js stream.PassThrough forwards all written chunks unchanged Original / libuv / usage-nodejs-r15-stream-passthrough-chunks Passed
Writes three string chunks into a stream.PassThrough, ends the stream, collects all data events, and asserts the concatenated UTF-8 buffer equals the joined source chunks.
Node.js URLSearchParams set then get returns the assigned value Original / libuv / usage-nodejs-r15-url-searchparams-get-set-roundtrip Passed
Constructs new URLSearchParams('a=1&b=2'), sets 'a' to 'r15' and 'c' to 'three', and asserts get('a') returns 'r15', get('b') still returns '2', and get('c') returns 'three'.
Node.js zlib.deflateSync and inflateSync round-trip a payload byte-for-byte Original / libuv / usage-nodejs-r15-zlib-deflate-inflate-roundtrip Passed
Compresses a 256-byte deterministic payload with zlib.deflateSync, decompresses with zlib.inflateSync, and asserts the inflated output equals the original payload.
Node.js child_process.spawnSync invokes printf to echo a structured argv into stdout Original / libuv / usage-nodejs-r16-child-process-spawnsync-echo-argv Passed
Calls child_process.spawnSync('printf', ['%s|%s|%s', 'a', 'b', 'c']), asserts the exit status is 0, asserts stdout decoded as utf8 equals 'a|b|c', and asserts stderr is empty — exercising Node.js's libuv process spawn surface.
Node.js crypto.randomBytes(32) returns a 32-byte Buffer of non-zero entropy Original / libuv / usage-nodejs-r16-crypto-randombytes-32-length Passed
Calls crypto.randomBytes(32) synchronously, asserts the returned value is a Buffer of length 32, and asserts at least one byte is non-zero — confirming Node.js's libuv-backed crypto random source emits the requested byte count.
Node.js dns.promises.lookup resolves localhost-style hostname to 127.0.0.1 in family 4 Original / libuv / usage-nodejs-r16-dns-promises-lookup-loopback-ipv4 Passed
Awaits dns.promises.lookup('127.0.0.1', {family: 4}), asserts the resolved address equals '127.0.0.1' and the returned family equals 4 — exercising Node.js's libuv getaddrinfo path for a numeric IPv4 host.
Node.js fs.promises.copyFile duplicates a binary payload exactly into a new path Original / libuv / usage-nodejs-r16-fs-promises-copyfile-bytes-match Passed
Writes 256 bytes (0x00..0xff) to a source file, calls fs.promises.copyFile into a sibling destination, reads both back via fs.promises.readFile and asserts the two buffers are byte-for-byte equal and exactly 256 bytes long — exercising Node.js's libuv copy_file path.
Node.js fs.promises.readdir enumerates only regular files created in a fresh tmp dir Original / libuv / usage-nodejs-r16-fs-promises-readdir-regular-files-only Passed
Creates three regular files (alpha.txt, beta.txt, gamma.txt) in a fresh empty directory, calls fs.promises.readdir on it, and asserts the returned array sorted alphabetically equals exactly ['alpha.txt','beta.txt','gamma.txt'] — relying on regular files only to avoid dotfile/hidden-dir surfacing differences.
Node.js http server emits two chunks whose body length sum matches the client receive count Original / libuv / usage-nodejs-r16-http-loopback-chunked-length-sum Passed
Starts an http server on 127.0.0.1:0 that writes two fixed chunks ("alpha-" and "beta") before ending the response, fires an http.request against it, accumulates all received data on the client and asserts the joined body equals "alpha-beta" with byte length 10 — exercising Node.js's libuv-backed http transport.
Node.js net.createServer accepts a single loopback TCP connection event Original / libuv / usage-nodejs-r16-net-server-accept-loopback-connection Passed
Creates a TCP server bound to 127.0.0.1:0 that records 'connection' events, opens a single client connection, ends it cleanly, and asserts the server observed exactly one connection event with a remoteAddress in the IPv4 loopback range before close.
Node.js process.versions exposes both node and uv version strings Original / libuv / usage-nodejs-r16-process-versions-has-node-and-uv Passed
Reads process.versions, asserts both the node and uv keys are present, that each value is a non-empty string, and that each begins with a digit followed by a dot — confirming Node.js surfaces its libuv version through the standard API.
Node.js setImmediate invokes its callback exactly once within the current event-loop turn Original / libuv / usage-nodejs-r16-setimmediate-fires-from-event-loop Passed
Schedules a setImmediate callback that increments a counter, returns from the synchronous script entry, and asserts via process.on('exit') that the callback ran exactly once before the loop drained — exercising Node.js's libuv check-phase scheduling.
Node.js util.promisify(fs.stat) resolves to a Stats object whose size matches the file length Original / libuv / usage-nodejs-r16-util-promisify-fs-stat-returns-size Passed
Writes a fixed-length payload to a temp file, calls util.promisify(fs.stat) on the path, asserts the result has numeric size equal to the payload byte length, asserts isFile() is true, and asserts an mtimeMs property is present as a number — exercising Node.js's libuv fs.stat surface through promisify.
Node.js Buffer.from('abc').toString('hex') yields the canonical '616263' Original / libuv / usage-nodejs-r17-buffer-from-string-hex-encoding Passed
Constructs a Buffer from the ASCII string "abc", asserts toString('hex') returns the lowercase hex literal '616263', and asserts the Buffer length is 3 — exercising Node.js Buffer encoding on top of libuv runtime.
Node.js crypto.createHash('sha256').update('abc') matches the FIPS-180 KAT Original / libuv / usage-nodejs-r17-crypto-sha256-abc-kat Passed
Computes SHA-256 of the ASCII string "abc" via crypto.createHash, asserts the lowercase hex digest equals the FIPS-180-2 known answer "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad", and asserts the digest length is exactly 64 hex characters.
Node.js EventEmitter.once handler fires exactly once across multiple emits Original / libuv / usage-nodejs-r17-events-once-fires-single-time Passed
Registers a once() handler on an EventEmitter, emits the event three times in a row, and asserts the handler counter increments to exactly 1 — confirming the libuv-backed Node.js event emitter unsubscribes the handler after the first invocation.
Node.js fs.promises.access resolves for an existing file and rejects for a missing path Original / libuv / usage-nodejs-r17-fs-promises-access-existing-file Passed
Creates a temporary file, calls fs.promises.access with F_OK on the existing path (expects resolution), and calls fs.promises.access on a missing sibling path (expects rejection with ENOENT); asserts both expectations are met, confirming libuv-backed async stat surfacing.
Node.js fs.promises writeFile + readFile preserves bytes verified by SHA-256 Original / libuv / usage-nodejs-r17-fs-promises-write-read-sha256-roundtrip Passed
Writes a 1024-byte deterministic payload to a temp file via fs.promises.writeFile, reads it back via fs.promises.readFile, and asserts the SHA-256 hex digest of the read buffer equals the SHA-256 hex digest of the original payload, exercising libuv-backed async file I/O via promises.
Node.js JSON.stringify preserves declaration order for a small literal object Original / libuv / usage-nodejs-r17-json-stringify-key-order-stable Passed
Serializes the literal {a:1, b:2, c:3} with JSON.stringify, asserts the output is exactly the string '{"a":1,"b":2,"c":3}' (no whitespace, declaration order preserved), and asserts JSON.parse round-trips it back to a deep-equal object.
Node.js path.join collapses .. segments to produce a normalized POSIX path Original / libuv / usage-nodejs-r17-path-join-resolves-dotdot Passed
Calls path.posix.join('/a/b', '..', 'c', '.', 'd.txt') and asserts the result equals '/a/c/d.txt', exercising Node.js path normalization rules on top of the libuv runtime.
Node.js process.versions exposes string values for "node" and "v8" Original / libuv / usage-nodejs-r17-process-versions-has-v8-and-node Passed
Reads process.versions and asserts both the "node" and "v8" entries exist as non-empty strings matching the dotted version pattern '^\d+\.\d+', confirming the runtime metadata is intact.
Node.js stream.Readable.from(['abc']) piped to a Writable writes exactly 3 bytes Original / libuv / usage-nodejs-r17-stream-readable-from-pipe-bytes Passed
Builds a Readable stream from the in-memory array ['abc'], pipes it into a Writable that concatenates chunks, awaits 'finish', and asserts the final collected buffer is exactly the 3-byte string 'abc' — exercising libuv-backed Node.js stream plumbing.
Node.js WHATWG URL parses a URL and exposes hostname, pathname, and protocol Original / libuv / usage-nodejs-r17-url-whatwg-host-parse Passed
Constructs new URL('https://example.test:8443/r17/path?q=1'), asserts hostname equals 'example.test', port equals '8443', pathname equals '/r17/path', protocol equals 'https:', and searchParams.get('q') equals '1', exercising the WHATWG URL parser shipped with Node.js.
Node.js child_process.spawn collects stdout and reports exit code 0 for /bin/true Original / libuv / usage-nodejs-r18-child-process-spawn-exit-code-zero Passed
Spawns /bin/echo via child_process.spawn with a fixed argv vector, accumulates the stdout data event chunks, awaits the close event, asserts the captured stdout (trimmed) equals "r18-spawn-token", and asserts the close event reports exit code 0, exercising libuv-backed process spawn + pipe wiring.
Node.js dns.promises.lookup('localhost') resolves to a loopback address Original / libuv / usage-nodejs-r18-dns-promises-lookup-localhost Passed
Calls require('dns').promises.lookup('localhost') with default options, awaits the result, asserts the returned object has a string "address" property, asserts the family is either 4 or 6, and asserts the address starts with "127." (IPv4 loopback) or equals "::1" (IPv6 loopback), exercising libuv-backed name resolution via the threadpool getaddrinfo path.
Node.js fs.promises.chmod sets a file mode that stat reports back Original / libuv / usage-nodejs-r18-fs-promises-chmod-then-stat-mode Passed
Creates a temp file via fs.promises.writeFile, calls fs.promises.chmod with mode 0o600, then calls fs.promises.stat and asserts the low 9 bits of st.mode equal 0o600, confirming libuv-backed chmod/stat round-trip on Linux ext4-like filesystems.
Node.js fs.promises.copyFile duplicates a file with byte-identical contents Original / libuv / usage-nodejs-r18-fs-promises-copyfile-roundtrip Passed
Writes a deterministic 256-byte payload to a source path via fs.promises.writeFile, calls fs.promises.copyFile to copy it to a sibling destination, and asserts both source and destination still exist and have byte-identical contents equal to the original payload, exercising libuv-backed copy_file primitives.
Node.js fs.promises mkdir creates a directory that rmdir removes Original / libuv / usage-nodejs-r18-fs-promises-mkdir-rmdir-roundtrip Passed
Creates a temporary parent, calls fs.promises.mkdir on a nested target, asserts fs.promises.stat.isDirectory() returns true for the new path, then calls fs.promises.rmdir on the same path and asserts a subsequent fs.promises.access raises ENOENT, exercising libuv-backed directory create + remove primitives.
Node.js fs.promises.readdir lists exactly the files created in a directory Original / libuv / usage-nodejs-r18-fs-promises-readdir-lists-files Passed
Creates a fresh directory, writes three files with deterministic names via fs.promises.writeFile, calls fs.promises.readdir on the directory and asserts the returned array, when sorted, equals exactly ["a.txt", "b.txt", "c.txt"], exercising libuv-backed directory scan/readdir behavior.
Node.js fs.promises.rename moves a file, preserving its byte contents Original / libuv / usage-nodejs-r18-fs-promises-rename-file-moves-bytes Passed
Writes a fixed payload to a source path via fs.promises.writeFile, calls fs.promises.rename to move it to a sibling destination, asserts the source path is gone (ENOENT) and the destination exists with byte-identical contents to the original payload, exercising libuv-backed atomic rename semantics on the same filesystem.
Node.js net.createServer echoes data back over a loopback TCP socket Original / libuv / usage-nodejs-r18-net-server-loopback-echo-roundtrip Passed
Starts a net.createServer that echoes every chunk received back to the client, binds on 127.0.0.1 with an OS-assigned port, calls net.createConnection to the bound port, writes a fixed payload, and asserts the data event on the client delivers the same payload back byte-for-byte before both sides are closed, exercising libuv-backed TCP I/O on loopback.
Node.js os.cpus returns a non-empty array and os.hostname returns a non-empty string Original / libuv / usage-nodejs-r18-os-cpus-and-hostname-shape Passed
Calls require('os').cpus(), asserts the return is an Array with length at least 1 and each element has a string "model" plus a numeric "speed", then calls os.hostname() and asserts the result is a non-empty string, exercising libuv-backed system introspection (uv_cpu_info / uv_os_gethostname).
Node.js timers/promises setTimeout resolves with the supplied value after a delay Original / libuv / usage-nodejs-r18-timers-promises-settimeout-resolves Passed
Calls require('timers/promises').setTimeout(20, 'r18-token') and awaits the promise, asserts the resolved value equals "r18-token", and asserts that the measured elapsed milliseconds (Date.now diff) is at least 15 (allowing scheduler slack), exercising libuv-backed timer scheduling via the promise-based timers API.
Node.js crypto.getCiphers enumerates a list that includes aes-256-gcm Original / libuv / usage-nodejs-r19-crypto-getciphers-has-aes-256-gcm Passed
Calls crypto.getCiphers(), asserts the returned value is an Array with non-zero length, asserts every entry is a string, asserts 'aes-256-gcm' is present, and asserts 'aes-128-cbc' is present, confirming the OpenSSL-backed cipher enumeration surface exposed to Node.js (libuv-hosted) reports the canonical AEAD and CBC cipher identifiers.
Node.js dgram.createSocket bind on port 0 returns a positive ephemeral port Original / libuv / usage-nodejs-r19-dgram-port-zero-assigns-port Passed
Creates a udp4 dgram socket via dgram.createSocket, binds to address '127.0.0.1' on port 0, awaits the 'listening' event, calls socket.address() and asserts the returned object has port > 0, family is 'IPv4', and address is '127.0.0.1', closes the socket and asserts a 'close' callback fires, exercising libuv-backed UDP ephemeral-port assignment.
Node.js fs.promises.truncate shrinks a file to zero bytes Original / libuv / usage-nodejs-r19-fs-promises-truncate-to-zero Passed
Writes a 256-byte payload to a temp file via fs.promises.writeFile, asserts fs.promises.stat reports size 256, calls fs.promises.truncate on the same path with length 0, then asserts a follow-up stat reports size 0 and that fs.promises.readFile returns an empty Buffer, exercising libuv-backed truncate semantics through the promises API.
Node.js fs.statSync mtime is a Date instance with epoch greater than zero Original / libuv / usage-nodejs-r19-fs-statsync-mtime-is-date Passed
Writes a temp file, calls fs.statSync on it, asserts the result.mtime is an instance of Date, asserts result.mtime.getTime() is a finite positive number, asserts result.atime and result.ctime are also Date instances, and asserts result.mtimeMs is a finite positive number, exercising libuv-backed stat field shape and types.
Node.js fs.watch fires a change event after appendFile mutates a watched file Original / libuv / usage-nodejs-r19-fs-watch-detects-content-change Passed
Writes an initial file, opens an fs.watch handle on its parent directory, schedules an fs.promises.appendFile of a new chunk after 30ms, and asserts the watcher receives at least one 'change' (or 'rename') event whose filename equals the file's basename before timeout, exercising libuv's inotify/kqueue-backed fs.watch on a real mutation.
Node.js http.METHODS exposes the standard HTTP verbs including GET POST PUT DELETE Original / libuv / usage-nodejs-r19-http-methods-includes-get Passed
Imports the http module, asserts http.METHODS is an Array with non-zero length, asserts every entry is an upper-case string, and asserts the verbs 'GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'OPTIONS', and 'PATCH' are all present (case-sensitive), confirming the libuv-hosted HTTP parser exposes the expected verb registry.
Node.js os.loadavg returns an array of three finite non-negative numbers Original / libuv / usage-nodejs-r19-os-loadavg-three-numbers Passed
Calls os.loadavg(), asserts the result is an Array of length exactly 3, asserts each entry is a finite Number, asserts each entry is >= 0, and asserts os.uptime() returns a finite positive Number, exercising the libuv-backed OS-level system metric surface on Linux.
Node.js process.uptime increases after a libuv timer-backed delay Original / libuv / usage-nodejs-r19-process-uptime-increases-after-delay Passed
Captures process.uptime() into t0, awaits a setTimeout of 30ms via timers/promises, captures process.uptime() into t1, and asserts t1 > t0 and (t1 - t0) >= 0.015 seconds (15ms, allowing scheduler slack against the 30ms target), confirming process.uptime advances monotonically over libuv-driven timer intervals.
Node.js stream.Readable.from(array) emits each element in order through async iteration Original / libuv / usage-nodejs-r19-stream-readable-from-array-collect Passed
Creates a Readable stream via Readable.from(['a', 'b', 'c', 'd']), consumes it with for-await-of into a JavaScript array, and asserts the collected array deep-equals ['a','b','c','d'] preserving order and arity, exercising libuv-hosted stream iteration semantics.
Node.js zlib.brotliCompressSync and brotliDecompressSync round-trip a repeated payload Original / libuv / usage-nodejs-r19-zlib-brotli-decompress-roundtrip Passed
Constructs a Buffer of 4096 bytes filled with byte 0x42, compresses it via zlib.brotliCompressSync, asserts the resulting compressed Buffer is smaller than the source (compression effective on a highly compressible repeated payload), decompresses the compressed Buffer via brotliDecompressSync, and asserts the recovered Buffer is exactly equal byte-for-byte to the original, exercising Node.js zlib brotli sync API.
Node.js Buffer.compare returns 0 for equal buffers and non-zero for differing ones Original / libuv / usage-nodejs-r20-buffer-compare-equal-and-unequal Passed
Builds two Buffers via Buffer.from('hello'), asserts Buffer.compare returns 0; then builds Buffer.from('hellp') and asserts Buffer.compare returns a non-zero integer in {-1, 1}, confirming Node's libuv-linked Buffer comparison helper returns sign-bounded results.
Node.js crypto.createHash('md5') matches the published RFC 1321 KAT for "abc" Original / libuv / usage-nodejs-r20-crypto-md5-abc-kat Passed
Calls crypto.createHash('md5').update('abc').digest('hex'), asserts the result equals the lowercase hex string '900150983cd24fb0d6963f7d28e17f72' (RFC 1321 test vector 'abc'), confirming Node's OpenSSL-backed MD5 implementation is correctly wired through the libuv-built runtime.
Node.js fs.linkSync creates a hardlink whose inode matches the source Original / libuv / usage-nodejs-r20-fs-link-creates-hardlink-shares-inode Passed
Writes a probe file 'src', calls fs.linkSync(src, dst) to create a hardlink, statSync both paths, and asserts the resulting ino fields are strictly equal (same inode), nlink for src is >= 2, and reading dst yields the same content as src, confirming libuv-backed link(2) shares the underlying inode.
Node.js fs.realpathSync follows a symlink chain to the canonical target Original / libuv / usage-nodejs-r20-fs-realpath-resolves-symlink-chain Passed
Creates a regular file 'target', a symlink 'link1' -> 'target', and a symlink 'link2' -> 'link1', calls fs.realpathSync('link2'), and asserts the returned path string ends with '/target', confirming the libuv-backed realpath syscall resolves a two-hop symlink chain to the canonical filesystem path.
Node.js os.EOL is the single newline character on a Linux host Original / libuv / usage-nodejs-r20-os-eol-is-newline-on-linux Passed
Reads the os.EOL property and asserts it is exactly the one-character string '\n' (LF), confirming Node's libuv-backed OS-line-terminator reflects Ubuntu 24.04 POSIX conventions.
Node.js path.extname and path.basename split a filename into name and extension Original / libuv / usage-nodejs-r20-path-extname-and-basename Passed
Calls path.extname('/a/b/c.tar.gz') and asserts the return is '.gz' (only the last extension), calls path.basename('/a/b/file.txt') and asserts the return is 'file.txt', calls path.basename('/a/b/file.txt', '.txt') and asserts the return is 'file', confirming Node's documented POSIX path semantics.
Node.js process.env assignment is visible to the same Node.js process Original / libuv / usage-nodejs-r20-process-env-set-and-read Passed
Assigns process.env.R20_VALIDATOR_VAR = 'r20-value', reads process.env.R20_VALIDATOR_VAR back, and asserts the returned string equals 'r20-value' exactly, deletes the key and asserts subsequent read returns undefined, confirming Node's libuv-built environment proxy reflects in-process mutations.
Node.js stream/promises pipeline completes for a readable-to-writable file copy Original / libuv / usage-nodejs-r20-stream-pipeline-async-success Passed
Writes a known byte payload to a source file, uses fs.createReadStream and fs.createWriteStream wired via stream/promises.pipeline to copy it to a destination, awaits the pipeline promise, reads the destination back and asserts it equals the source bytes, confirming libuv-backed stream pipelining succeeds for a trivial file copy.
Node.js WHATWG URL searchParams round-trip preserves a value with spaces Original / libuv / usage-nodejs-r20-url-whatwg-search-params-roundtrip Passed
Constructs new URL('https://example.com/x?q=hello%20world&n=5'), reads searchParams.get('q') and asserts it equals 'hello world' (URL-decoded), reads searchParams.get('n') and asserts it equals '5', then sets searchParams.set('q', 'foo bar') and asserts url.search now contains 'q=foo+bar' (form-style encoding), confirming Node's URL+URLSearchParams interaction follows the WHATWG spec.
Node.js util.inspect respects depth option and stops at the configured nesting level Original / libuv / usage-nodejs-r20-util-inspect-truncates-and-uses-depth Passed
Calls util.inspect({a: {b: {c: 1}}}, { depth: 0 }) and asserts the returned string contains the substring '[Object]' (indicating depth truncation kicked in), then calls util.inspect with depth: 5 on the same object and asserts the output contains 'c: 1' (full nesting visible), confirming Node's documented inspect depth-bound semantics.
Node.js AbortController cancels a timers/promises setTimeout with AbortError Original / libuv / usage-nodejs-r21-abort-controller-aborts-settimeout-promise Passed
Schedules a timers/promises setTimeout(2000) with an AbortController signal, calls controller.abort() shortly after, awaits the promise and asserts it rejects with an AbortError, exercising libuv timer cancellation through Node's abort-aware timer API.
Node.js async_hooks createHook init callback fires for setTimeout async resources Original / libuv / usage-nodejs-r21-async-hooks-create-hook-fires-init Passed
Creates a node:async_hooks hook with an init callback that records async resource types, enables the hook, schedules a setTimeout, and after the timer fires asserts that 'Timeout' appears in the recorded types, exercising libuv's async resource lifecycle reporting via Node async_hooks.
Node.js child_process.exec aborts a child that exceeds maxBuffer Original / libuv / usage-nodejs-r21-child-process-exec-maxbuffer-respects-limit Passed
Spawns 'sh -c "yes | head -c 200000"' under child_process.exec with maxBuffer set to 1024 and asserts the callback fires with an Error whose .code equals 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER', validating libuv-managed stdio buffering caps in Node's child_process API.
Node.js dgram UDP4 socket emits 'message' for an echoed loopback datagram Original / libuv / usage-nodejs-r21-dgram-udp-loopback-message-event Passed
Creates a udp4 dgram.Socket, binds to 127.0.0.1 on a random port, sends a single datagram to its own address, listens for the 'message' event, and asserts the received payload equals the sent payload and rinfo.address is 127.0.0.1 over libuv's uv_udp facility.
Node.js fs.fdatasync flushes a written file descriptor without error Original / libuv / usage-nodejs-r21-fs-fdatasync-flushes-without-error Passed
Opens a temp file via fs.open in 'w+' mode, writes a payload via fs.writeSync, calls fs.fdatasync on the fd (libuv uv_fs_fdatasync request), asserts the callback fires with err === null, then closes and asserts the file contents match the payload.
Node.js fs.promises.cp recursively copies a nested directory tree Original / libuv / usage-nodejs-r21-fs-promises-cp-recursive-tree Passed
Builds a source tree with two nested files, awaits fs.promises.cp(src, dst, { recursive: true }), and asserts both nested file contents at the destination match the source byte-for-byte, exercising libuv's recursive copy operation surfaced through Node fs.promises.
Node.js fs.watch fires a rename event when a file is created in the watched directory Original / libuv / usage-nodejs-r21-fs-watch-detects-create-event Passed
Watches a tmpdir via fs.watch (which uses libuv's uv_fs_event), then creates a new file inside that directory and asserts a 'rename' event with the matching filename is received within a short timeout, exercising libuv's inotify-backed filesystem event surface.
Node.js connected client socket reports localAddress 127.0.0.1 Original / libuv / usage-nodejs-r21-net-server-localaddress-loopback Passed
Starts a net.Server listening on 127.0.0.1 with an ephemeral port, has a client connect over loopback, and asserts inside the 'connection' handler that the accepted socket.remoteAddress is 127.0.0.1 and that the client socket.localAddress is also 127.0.0.1 over the libuv-backed TCP path.
Node.js process.hrtime.bigint reports a monotonically increasing nanosecond clock Original / libuv / usage-nodejs-r21-process-hrtime-bigint-monotonic Passed
Samples process.hrtime.bigint() twice across a 5 ms setTimeout delay and asserts the second sample is strictly greater than the first by at least 1 million nanoseconds (1 ms), exercising libuv's uv_hrtime backed monotonic clock.
Node.js Worker thread postMessage round-trips a JSON-cloneable payload Original / libuv / usage-nodejs-r21-worker-threads-message-roundtrip Passed
Spawns a Worker via worker_threads with an inline data: eval source that listens on parentPort and echoes any message; the main thread postMessages an object payload, awaits the 'message' event, and asserts the echoed payload deep-equals the sent payload, exercising libuv's thread pool and Node's structured-clone messaging.
Node.js AsyncResource runInAsyncScope Original / libuv / usage-nodejs-r9-async-resource-context Passed
Wraps a callback with AsyncResource and verifies runInAsyncScope passes through the supplied this and arguments.
Node.js child_process.spawn exit code propagation Original / libuv / usage-nodejs-r9-child-process-spawn-exit-code Passed
Spawns /bin/sh -c 'exit 7' via child_process.spawn and verifies the exit event reports code 7 with null signal.
Node.js fs.opendir async iteration Original / libuv / usage-nodejs-r9-fs-opendir-async-iter Passed
Iterates a directory using fs.promises.opendir's async iterator and verifies the dirent set matches the seeded files.
Node.js fs.promises.rm recursive Original / libuv / usage-nodejs-r9-fs-promises-rm-recursive Passed
Builds a nested directory tree and removes it via fs.promises.rm with recursive:true, then asserts the path no longer exists.
Node.js fs.promises.stat mtime via utimes Original / libuv / usage-nodejs-r9-fs-promises-stat-mtime Passed
Sets a known mtime on a file via fs.promises.utimes and verifies fs.promises.stat reports the same value.
Node.js net.Server getConnections counts active sockets Original / libuv / usage-nodejs-r9-net-server-getconnections Passed
Opens a TCP server on 127.0.0.1, makes two concurrent client connections and verifies server.getConnections reports two before all sockets are closed.
Node.js net.Server unref does not block exit Original / libuv / usage-nodejs-r9-net-server-unref-ref Passed
Listens on a 127.0.0.1 TCP port, calls server.unref, and verifies the process exits naturally without an explicit close.
Node.js net socket write flow control Original / libuv / usage-nodejs-r9-net-writable-flow-control Passed
Streams 1 MiB of data through a 127.0.0.1 TCP echo connection and verifies the bytes received equal the bytes sent.
Node.js perf_hooks mark and measure Original / libuv / usage-nodejs-r9-perf-hooks-mark-measure Passed
Records two named marks via perf_hooks.performance and asserts the resulting measure has a non-negative duration and the right name.
Node.js process.cpuUsage delta is non-negative Original / libuv / usage-nodejs-r9-process-cpu-usage-delta Passed
Calls process.cpuUsage twice with a busy loop in between and verifies the delta has non-negative user and system fields.
Node.js async randomBytes Original / libuv / usage-nodejs-randombytes-async Passed
Node.js readFile buffer Original / libuv / usage-nodejs-readfile-buffer Passed
Node.js readline async iterator Original / libuv / usage-nodejs-readline-async-iterator-batch11 Passed
Node.js readline stream Original / libuv / usage-nodejs-readline-stream Passed
Node.js setImmediate Original / libuv / usage-nodejs-setimmediate Passed
Node.js spawn stdio Original / libuv / usage-nodejs-spawn-stdio Passed
Node.js stat call Original / libuv / usage-nodejs-stat-call Passed
Node.js stream finished Original / libuv / usage-nodejs-stream-finished-pass-through Passed
Awaits Node.js stream/promises.finished on a PassThrough stream and verifies the captured payload after the writable side ends.
Node.js stream finished promise Original / libuv / usage-nodejs-stream-finished-promise-batch11 Passed
Node.js stream finished callback Original / libuv / usage-nodejs-stream-finished Passed
Node.js stream pipe Original / libuv / usage-nodejs-stream-pipe Passed
Node.js stream.pipeline propagates source error Original / libuv / usage-nodejs-stream-pipeline-source-error Passed
Runs stream.pipeline with a Readable that emits an error after the first chunk and verifies the promise rejects and the destination file is cleaned.
Node.js stream.pipeline fs read -> Transform -> fs write Original / libuv / usage-nodejs-stream-pipeline-transform Passed
Pipes a source file through a Transform that uppercases bytes into a destination file and asserts the round-trip output.
Node.js stream pipeline Original / libuv / usage-nodejs-stream-pipeline Passed
Node.js stream readable collect Original / libuv / usage-nodejs-stream-readable-collect Passed
Node.js tcp loopback Original / libuv / usage-nodejs-tcp-loopback Passed
Node.js timers setImmediate after I/O ordering Original / libuv / usage-nodejs-timers-immediate-vs-timeout-order Passed
Schedules setImmediate inside an fs.readFile callback alongside setTimeout(0) and asserts setImmediate runs first.
Node.js timers microtask order Original / libuv / usage-nodejs-timers-microtask-order Passed
Node.js timers promises immediate Original / libuv / usage-nodejs-timers-promises-immediate Passed
Node.js timers promises timeout Original / libuv / usage-nodejs-timers-promises-timeout-batch11 Passed
Node.js timers promises Original / libuv / usage-nodejs-timers-promises Passed
Node.js timers setInterval Original / libuv / usage-nodejs-timers-setinterval Passed
Runs repeated timer callbacks with setInterval and verifies the event loop executes the expected sequence.
Node.js timeout refresh Original / libuv / usage-nodejs-timers-timeout-refresh Passed
Node.js udp loopback Original / libuv / usage-nodejs-udp-loopback Passed
Node.js url.fileURLToPath Original / libuv / usage-nodejs-url-fileurltopath Passed
Converts a file:// URL to a filesystem path with url.fileURLToPath and verifies the absolute path round-trips through string and URL forms.
nodejs URL pathname parse Original / libuv / usage-nodejs-url-pathname-parse Passed
Parses a URL through the global URL constructor and verifies pathname plus query parameter access.
Node.js url.pathToFileURL Original / libuv / usage-nodejs-url-pathtofileurl Passed
Converts an absolute filesystem path to a file:// URL with url.pathToFileURL and verifies the protocol and pathname round-trip back through fileURLToPath.
Node.js URLSearchParams append and toString Original / libuv / usage-nodejs-url-searchparams-append Passed
Builds a URLSearchParams instance via append, verifies repeated keys preserve order, getAll returns all values, and toString produces the expected URL-encoded query string.
Node.js util.promisify on setTimeout Original / libuv / usage-nodejs-util-promisify-settimeout Passed
Promisifies the legacy setTimeout signature and awaits a 25ms delay, asserting it resolves with no value and that elapsed time is non-negative.
Node.js worker_threads compute sum Original / libuv / usage-nodejs-worker-compute-sum Passed
Spawns a worker thread that computes a deterministic sum and verifies the result on the main thread.
Node.js worker_threads MessageChannel ping pong Original / libuv / usage-nodejs-worker-message-channel-pingpong Passed
Hands a MessageChannel port to a worker thread and exchanges a ping pong message pair through it.
Node.js worker_threads SHARE_ENV environment sharing Original / libuv / usage-nodejs-worker-share-env Passed
Spawns a worker_threads.Worker with env=worker_threads.SHARE_ENV, mutates process.env in the worker, and verifies the change is visible in the parent process.
Node.js worker thread message Original / libuv / usage-nodejs-worker-thread-message-batch11 Passed
Node.js zlib Brotli round trip Original / libuv / usage-nodejs-zlib-brotli-compress Passed
Compresses and decompresses a payload with Node.js Brotli helpers and verifies the restored text.
Node.js zlib brotli sync round trip Original / libuv / usage-nodejs-zlib-brotli-sync-roundtrip Passed
Round trips a payload through zlib.brotliCompressSync and brotliDecompressSync and verifies byte equality.
Node.js zlib constants Z_BEST_SPEED and Z_BEST_COMPRESSION Original / libuv / usage-nodejs-zlib-constants-best-speed-compression Passed
Verifies zlib.constants exposes Z_BEST_SPEED=1 and Z_BEST_COMPRESSION=9, then deflates a payload at each level and confirms both round trip back to the original bytes.
Node.js async zlib deflate Original / libuv / usage-nodejs-zlib-deflate Passed
nodejs zlib deflate roundtrip Original / libuv / usage-nodejs-zlib-deflatesync-roundtrip Passed
Round-trips a payload through Node zlib.deflateSync and zlib.inflateSync and verifies the restored bytes.
Node.js zlib gunzip buffer Original / libuv / usage-nodejs-zlib-gunzip-buffer Passed
Node.js zlib gzip roundtrip Original / libuv / usage-nodejs-zlib-gzip-roundtrip Passed
Compresses and restores a payload with Node.js zlib gzip and verifies the decompressed text output.
Node.js gzip stream Original / libuv / usage-nodejs-zlib-gzip-stream Passed
Node.js zlib gzipSync Original / libuv / usage-nodejs-zlib-gzipsync Passed
CVE-2024-24806 libuv regression Original / libuv / cve-2024-24806 Passed
Asserts that uv_getaddrinfo on a hostname longer than the legacy 256-byte hostname_ascii buffer returns an error rather than silently truncating, which previously enabled SSRF via crafted long usernames.
libuv DNS getaddrinfo Port / libuv / dns-getaddrinfo Passed
libuv event loop timer Port / libuv / event-loop-timer Passed
libuv fs read write Port / libuv / fs-read-write Passed
libuv process pipe smoke Port / libuv / process-pipe-smoke Passed
libuv TCP loopback smoke Port / libuv / tcp-loopback-smoke Passed
Node.js AbortController cancels http request Port / libuv / usage-nodejs-abort-controller-http-request Passed
Issues an http request against a slow loopback server and aborts it via AbortController, then verifies the abort error.
Node.js fs.promises.readFile aborts via AbortController Port / libuv / usage-nodejs-abort-controller-readfile Passed
Aborts an fs.promises.readFile call before it resolves and verifies the rejection carries an AbortError code.
Node.js async_hooks executionAsyncId in setImmediate callback Port / libuv / usage-nodejs-async-hooks-execution-id Passed
Reads async_hooks.executionAsyncId at the top level and inside a setImmediate callback and asserts they are non-negative integers and differ.
Node.js Buffer.alloc(0) zero-length semantics Port / libuv / usage-nodejs-buffer-alloc-zero-length Passed
Allocates a zero-length Buffer and verifies length 0, base64/hex encodings are empty, equality with Buffer.from(''), and Buffer.concat([]) yields the same shape.
Node.js Buffer.concat large consistency Port / libuv / usage-nodejs-buffer-concat-large Passed
Concatenates many Buffer chunks with Buffer.concat and verifies sha256 equals the digest of the original payload.
nodejs buffer from hex Port / libuv / usage-nodejs-buffer-from-hex Passed
Node.js buffer.transcode utf8 to latin1 Port / libuv / usage-nodejs-buffer-transcode-utf8-latin1 Passed
Uses buffer.transcode to convert a UTF-8 encoded buffer containing Latin-1 representable characters into a latin1 encoded buffer and verifies the resulting byte length and decoded string.
Node.js child_process exec Port / libuv / usage-nodejs-child-process-exec Passed
Node.js child_process.execFile captures stdout Port / libuv / usage-nodejs-child-process-execfile-capture Passed
Invokes /bin/echo via child_process.execFile and asserts the captured stdout equals the expected payload with a zero exit status.
Node.js child_process.execFileSync passes argv array Port / libuv / usage-nodejs-child-process-execfilesync-args Passed
Calls execFileSync with /bin/printf and a multi-element args array and asserts the returned buffer contains the joined payload.
Node.js child_process execSync Port / libuv / usage-nodejs-child-process-execsync Passed
Node.js child_process.fork IPC message exchange Port / libuv / usage-nodejs-child-process-fork-ipc Passed
Forks a child Node.js process and exchanges a ping/pong message through the IPC channel, asserting the reply payload.
Node.js child_process.spawn detached=false stdout capture Port / libuv / usage-nodejs-child-process-spawn-detached-false Passed
Spawns /bin/echo with detached set explicitly to false, captures stdout, and asserts a clean exit with the expected payload.
Node.js child_process.spawn pipe stdin write Port / libuv / usage-nodejs-child-process-spawn-stdin-write Passed
Spawns /usr/bin/wc with piped stdio, writes a payload to stdin and asserts the byte count returned on stdout matches.
Node.js child_process.spawn stdout capture Port / libuv / usage-nodejs-child-process-spawn-stdout-capture Passed
Spawns /bin/echo with an argument and asserts the stdout chunks concatenate to the expected payload with exit code zero.
Node.js child process spawnSync Port / libuv / usage-nodejs-child-process-spawnsync-bash Passed
Runs a synchronous subprocess with child_process.spawnSync and verifies the captured stdout payload.
Node.js child process spawnSync Port / libuv / usage-nodejs-child-process-spawnsync Passed
Node.js child process Port / libuv / usage-nodejs-child-process Passed
Node.js crypto aes-256-gcm encrypt/decrypt round-trip Port / libuv / usage-nodejs-crypto-aes-256-gcm-roundtrip Passed
Encrypts a payload with crypto.createCipheriv aes-256-gcm, captures the auth tag, decrypts with createDecipheriv and the tag, and asserts the recovered plaintext matches.
Node.js crypto hash Port / libuv / usage-nodejs-crypto-createhash Passed
Node.js crypto.createSecretKey from raw bytes Port / libuv / usage-nodejs-crypto-createsecretkey-raw Passed
Builds a KeyObject from raw bytes via crypto.createSecretKey and verifies the symmetric type and that an HMAC computed via the KeyObject matches one computed from the raw buffer.
Node.js crypto ed25519 sign and verify Port / libuv / usage-nodejs-crypto-ed25519-sign-verify Passed
Generates an ed25519 keypair, signs a message with crypto.sign(null, ...), verifies it with crypto.verify, and asserts a tampered message fails verification.
Node.js crypto HMAC Port / libuv / usage-nodejs-crypto-hmac Passed
Node.js asynchronous PBKDF2 Port / libuv / usage-nodejs-crypto-pbkdf2 Passed
Node.js randomBytes async Port / libuv / usage-nodejs-crypto-randombytes-async-batch11 Passed
Node.js crypto randomBytes Port / libuv / usage-nodejs-crypto-randombytes Passed
Node.js crypto.randomFillSync buffer fill Port / libuv / usage-nodejs-crypto-randomfill-buffer-bytes Passed
Allocates a zero-filled buffer, fills a slice via crypto.randomFillSync, and asserts the slice changed.
Node.js crypto randomFill Port / libuv / usage-nodejs-crypto-randomfill Passed
Node.js crypto.randomUUID format check Port / libuv / usage-nodejs-crypto-randomuuid-format Passed
Generates several crypto.randomUUID values and validates they match RFC 4122 v4 format with version 4 and variant bits set correctly, and are unique across the batch.
Node.js crypto scrypt Port / libuv / usage-nodejs-crypto-scrypt Passed
Node.js crypto.scryptSync deterministic output Port / libuv / usage-nodejs-crypto-scryptsync-deterministic Passed
Calls crypto.scryptSync twice with identical password and salt and verifies it is deterministic and differs when the salt changes.
nodejs crypto sha256 hex Port / libuv / usage-nodejs-crypto-sha256-hex Passed
Computes a SHA-256 hex digest with Node crypto.createHash and verifies the deterministic digest of a known input.
Node.js crypto sha256 multi-update KAT Port / libuv / usage-nodejs-crypto-sha256-multi-update-kat Passed
Builds a sha256 digest with multiple update calls and verifies it against the published KAT for the concatenated input.
Node.js crypto.timingSafeEqual Port / libuv / usage-nodejs-crypto-timingsafeequal-constant-time Passed
Verifies crypto.timingSafeEqual returns true for identical buffers and false for differing ones of equal length.
Node.js dgram bind address Port / libuv / usage-nodejs-dgram-bind-address Passed
Node.js dgram bind ephemeral and reflect Port / libuv / usage-nodejs-dgram-bind-reflect-echo Passed
Binds a UDP4 socket to an ephemeral port on 127.0.0.1, reflects a datagram back to the sender, and verifies the round trip.
Node.js dgram buffer message Port / libuv / usage-nodejs-dgram-buffer-message-batch11 Passed
Node.js dgram close event Port / libuv / usage-nodejs-dgram-close-event Passed
Node.js dgram connect send Port / libuv / usage-nodejs-dgram-connect-send Passed
Node.js UDP connect Port / libuv / usage-nodejs-dgram-connect Passed
Node.js dgram UDP loopback round-trip Port / libuv / usage-nodejs-dgram-loopback-roundtrip Passed
Sends a UDP datagram to a loopback server which replies, and asserts the client receives the reply payload.
Node.js dgram message size Port / libuv / usage-nodejs-dgram-message-size Passed
Node.js dgram setMulticastTTL Port / libuv / usage-nodejs-dgram-set-multicast-ttl Passed
Binds a dgram udp4 socket to loopback and exercises setMulticastTTL without joining a multicast group, then closes cleanly.
Node.js dgram socket.address family and ephemeral port Port / libuv / usage-nodejs-dgram-socket-address-family Passed
Binds a udp4 dgram socket to port 0 on loopback and verifies socket.address() returns family IPv4, address 127.0.0.1, and a positive ephemeral port.
Node.js UDP two messages Port / libuv / usage-nodejs-dgram-two-messages Passed
Node.js dgram udp6 loopback over ::1 Port / libuv / usage-nodejs-dgram-udp6-loopback Passed
Creates a dgram udp6 socket bound to ::1 and round trips a datagram to itself, verifying the IPv6 loopback transport carries the payload.
Node.js dns.lookup all:true returns array Port / libuv / usage-nodejs-dns-lookup-all-localhost Passed
Resolves localhost via dns.lookup with all:true and verifies the returned array contains 127.0.0.1 with family 4.
Node.js dns.lookup localhost with family=4 Port / libuv / usage-nodejs-dns-lookup-family4 Passed
Resolves localhost via dns.lookup with the family option set to 4 and asserts the address is 127.0.0.1 with family 4.
Node.js dns.lookup localhost resolves to loopback Port / libuv / usage-nodejs-dns-lookup-localhost-loopback Passed
Node.js dns lookup Port / libuv / usage-nodejs-dns-lookup Passed
Node.js DNS promises lookup Port / libuv / usage-nodejs-dns-promises-lookup-batch11 Passed
Node.js event loop timer Port / libuv / usage-nodejs-event-loop-timer Passed
nodejs events emit listener Port / libuv / usage-nodejs-events-emit-listener Passed
Registers an EventEmitter listener and verifies the callback receives the emitted argument value.
Node.js EventEmitter once and removeListener semantics Port / libuv / usage-nodejs-events-once-removelistener Passed
Verifies a once-listener fires exactly once, a removed listener does not fire, and listenerCount reaches zero after both unsubscribe.
Node.js EventEmitter setMaxListeners and listenerCount Port / libuv / usage-nodejs-events-setmaxlisteners-count Passed
Registers more than the default listeners after raising setMaxListeners and verifies listenerCount returns the registered total without warnings.
Node.js execFile Port / libuv / usage-nodejs-execfile Passed
Node.js fs.access on existing and missing paths Port / libuv / usage-nodejs-fs-access-existing-and-missing Passed
Node.js fs.access W_OK and X_OK Port / libuv / usage-nodejs-fs-access-wok-xok Passed
Creates a writable plain file and an executable script then verifies fs.accessSync accepts W_OK on the file, X_OK on the script, and rejects X_OK on the plain non-executable file.
Node.js fs access Port / libuv / usage-nodejs-fs-access Passed
Node.js fs append file Port / libuv / usage-nodejs-fs-append-file Passed
Node.js fs.appendFile concurrent writes consistency Port / libuv / usage-nodejs-fs-appendfile-concurrent Passed
Issues many concurrent fs.appendFile writes to one file and verifies the resulting bytes contain every line exactly once.
Node.js fs chmod Port / libuv / usage-nodejs-fs-chmod Passed
Node.js fs copyFile Port / libuv / usage-nodejs-fs-copy-file Passed
Copies file bytes through fs.promises.copyFile and verifies the destination payload matches the source.
Node.js fs.copyFile with COPYFILE_FICLONE flag Port / libuv / usage-nodejs-fs-copyfile-ficlone-flag Passed
Copies a file using fs.promises.copyFile with the COPYFILE_FICLONE flag and asserts the destination contents match the source byte-for-byte.
Node.js fs.copyFile then fs.unlink chain Port / libuv / usage-nodejs-fs-copyfile-unlink-chain Passed
Copies a file with fs.copyFile, verifies the copy contents match, then unlinks the copy and asserts removal via fs.access.
Node.js fs.cp recursive directory copy Port / libuv / usage-nodejs-fs-cp-recursive Passed
Builds a small directory tree and copies it recursively with fs.promises.cp, then asserts files and contents at the destination.
Node.js fs.cpSync recursive copy Port / libuv / usage-nodejs-fs-cpsync-recursive Passed
Builds a nested directory tree and copies it with fs.cpSync recursive:true, verifying every file lands at the expected destination path with matching contents.
Node.js recursive mkdir Port / libuv / usage-nodejs-fs-mkdir-recursive Passed
Node.js fs mkdtemp Port / libuv / usage-nodejs-fs-mkdtemp Passed
Node.js fs promises mkdtemp Port / libuv / usage-nodejs-fs-promises-mkdtemp-batch11 Passed
Node.js fs promises readFile Port / libuv / usage-nodejs-fs-promises-readfile Passed
Node.js fs.promises write/read sha256 round trip Port / libuv / usage-nodejs-fs-promises-sha256-roundtrip Passed
Writes random bytes via fs.promises.writeFile and verifies fs.promises.readFile returns identical content by sha256.
Node.js fs promises Port / libuv / usage-nodejs-fs-promises Passed
Node.js fs read write Port / libuv / usage-nodejs-fs-read-write Passed
Node.js fs readdir dirents Port / libuv / usage-nodejs-fs-readdir-dirents Passed
Lists directory entries with fs.readdir using Dirent objects and verifies both filenames are present.
Node.js fs readdir names Port / libuv / usage-nodejs-fs-readdir-names Passed
Lists directory children through fs.promises.readdir and verifies the expected filenames are returned.
Node.js fs.readFileSync vs fs.readFile equal bytes Port / libuv / usage-nodejs-fs-readfilesync-vs-async-equal Passed
Reads the same file via fs.readFileSync and the async fs.readFile and verifies the returned buffers are byte-identical.
Node.js fs.readlinkSync vs fs.readlink async parity Port / libuv / usage-nodejs-fs-readlinksync-vs-async Passed
Creates a symlink and verifies fs.readlinkSync and the async fs.readlink callback API both return the same target string.
Node.js fs.readv vectored read Port / libuv / usage-nodejs-fs-readv-vectored Passed
Reads a file through Node.js fs.readv into two buffers and verifies both segments are populated correctly.
Node.js realpath native Port / libuv / usage-nodejs-fs-realpath-native-batch11 Passed
Node.js fs.realpath resolves through a symlink Port / libuv / usage-nodejs-fs-realpath-through-symlink Passed
Creates a directory symlink and asserts fs.promises.realpath resolves a path through it to the canonical target.
Node.js fs realpath Port / libuv / usage-nodejs-fs-realpath Passed
Node.js fs rename file Port / libuv / usage-nodejs-fs-rename-file Passed
Renames a file with Node.js fs.promises.rename and verifies the destination keeps the original payload.
Node.js fs rename Port / libuv / usage-nodejs-fs-rename Passed
Node.js fs.stat with bigint=true returns BigInt sizes Port / libuv / usage-nodejs-fs-stat-bigint Passed
Calls fs.promises.stat with the bigint option and asserts size, ino, and mtimeNs are BigInt values matching the byte length.
nodejs fs stat isFile Port / libuv / usage-nodejs-fs-stat-isfile Passed
Node.js fs stat size Port / libuv / usage-nodejs-fs-stat-size Passed
Node.js fs.statfs filesystem info Port / libuv / usage-nodejs-fs-statfs-info Passed
Calls Node.js fs.statfs against the temp directory and verifies the returned filesystem block totals look sane.
Node.js fs symlink readlink unlink chain Port / libuv / usage-nodejs-fs-symlink-readlink-unlink-chain Passed
Creates a symlink with Node.js fs.symlink, reads it back with fs.readlink, then removes it with fs.unlink and verifies it is gone.
Node.js fs symlink readlink Port / libuv / usage-nodejs-fs-symlink-readlink Passed
nodejs fs truncate Port / libuv / usage-nodejs-fs-truncate-file Passed
Truncates a file to eight bytes through Node fs.truncateSync and verifies the shortened content.
Node.js fs utimes Port / libuv / usage-nodejs-fs-utimes Passed
Node.js fs.watch directory create event Port / libuv / usage-nodejs-fs-watch-directory-create Passed
Watches a directory with fs.watch and verifies a rename event fires when a new file is created inside it.
Node.js fs.watch directory rename event Port / libuv / usage-nodejs-fs-watch-rename-event Passed
Watches a temporary directory and verifies fs.watch surfaces a rename event when a new file appears.
Node.js fs.watch change event Port / libuv / usage-nodejs-fs-watch Passed
Runs Node.js fs.watch on a temporary file and verifies a change event arrives through the event loop.
Node.js fs watchFile Port / libuv / usage-nodejs-fs-watchfile-batch11 Passed
nodejs fs write stream end Port / libuv / usage-nodejs-fs-write-stream-end Passed
Writes through a Node fs.createWriteStream and verifies the end callback fires after the buffered payload is flushed.
Node.js fs.writev vectored write Port / libuv / usage-nodejs-fs-writev-vectored Passed
Writes two buffers through Node.js fs.writev in a single call and verifies the concatenated file content.
Node.js http.Agent keep-alive socket reuse Port / libuv / usage-nodejs-http-agent-keepalive-reuse Passed
Issues two sequential HTTP requests through a keep-alive Agent on loopback and verifies the same TCP socket port is reused.
Node.js http.createServer + http.request loopback round trip Port / libuv / usage-nodejs-http-loopback-roundtrip Passed
Starts an http server on 127.0.0.1, issues an http.request POST, and asserts the echoed body matches with the expected Content-Length.
Node.js http2 loopback request Port / libuv / usage-nodejs-http2-localhost Passed
Starts an http2 server on 127.0.0.1 with allowHTTP1 and exchanges a single request via the http2 client.
Node.js net client local address Port / libuv / usage-nodejs-net-client-local-address Passed
Connects to a loopback TCP server through net and verifies the client local address is reported as loopback.
Node.js net.connect localPort binding Port / libuv / usage-nodejs-net-connect-localport-binding Passed
Binds an outgoing net.connect to an OS-assigned localPort by passing localAddress and verifies the client's reported localPort is non-zero.
Node.js net echo Port / libuv / usage-nodejs-net-echo Passed
Node.js net end event Port / libuv / usage-nodejs-net-end-event Passed
Node.js net isIP Port / libuv / usage-nodejs-net-isip-loopback Passed
Validates the loopback literal with Node.js net.isIP and verifies the API reports an IPv4 address.
Node.js net.isIPv4 and net.isIPv6 classification Port / libuv / usage-nodejs-net-isipv4-isipv6 Passed
Checks net.isIPv4 and net.isIPv6 return the expected booleans for a representative set of IPv4 addresses, IPv6 addresses, and non-addresses.
Node.js net server address Port / libuv / usage-nodejs-net-server-address Passed
Node.js net server close callback Port / libuv / usage-nodejs-net-server-close-callback Passed
Node.js net loopback echo with sha256 verification Port / libuv / usage-nodejs-net-server-echo-bidir Passed
Binds a TCP server on 127.0.0.1, echoes a 16 KiB payload back to a client, and verifies sha256 equality.
Node.js net server listen with backlog parameter Port / libuv / usage-nodejs-net-server-listen-backlog Passed
Calls server.listen with an explicit backlog argument and verifies the bound socket still accepts a loopback client connection.
Node.js net.Server listen port=0 yields ephemeral port Port / libuv / usage-nodejs-net-server-listen-port-zero Passed
Listens on 127.0.0.1 with port set to 0 and verifies server.address().port is in the ephemeral range and the server accepts a loopback connection.
Node.js net.Server maxConnections enforcement Port / libuv / usage-nodejs-net-server-maxconnections Passed
Configures net.Server.maxConnections=1, opens two clients, and verifies the second connection is dropped while the first is served.
Node.js net server two concurrent clients Port / libuv / usage-nodejs-net-server-two-clients-concurrent Passed
Binds a TCP server on 127.0.0.1 and accepts two concurrent client connections, verifying each receives its own greeting.
Node.js net.Socket setKeepAlive on loopback connection Port / libuv / usage-nodejs-net-socket-setkeepalive Passed
Calls socket.setKeepAlive(true, delay) on a client connected to a loopback server and verifies the connection completes a successful echo round-trip.
Node.js process.nextTick precedes queueMicrotask Port / libuv / usage-nodejs-nexttick-before-microtask Passed
Schedules process.nextTick and queueMicrotask in the same tick and asserts nextTick callbacks drain before the microtask queue.
Node.js nextTick and timeout Port / libuv / usage-nodejs-nexttick-timeout Passed
Node.js opendir Port / libuv / usage-nodejs-opendir Passed
Node.js os.cpus and memory totals are positive Port / libuv / usage-nodejs-os-cpus-mem-positive Passed
Verifies os.cpus() returns a non-empty array and os.totalmem and os.freemem return positive integers with totalmem >= freemem.
nodejs os.tmpdir defined Port / libuv / usage-nodejs-os-tmpdir-defined Passed
Reads the platform temporary directory through Node os.tmpdir and verifies a non-empty string is returned.
Node.js posix path.normalize keeps backslash literal Port / libuv / usage-nodejs-path-normalize-backslash Passed
Verifies path.posix.normalize treats backslash as a literal character on Linux and that path.normalize collapses redundant separators.
Node.js path.parse on absolute path with path.format reconstruction Port / libuv / usage-nodejs-path-parse-absolute Passed
Parses an absolute POSIX path with path.parse, asserts every component, and verifies path.format reconstructs the original string from the parsed object.
Node.js path.relative between absolute paths Port / libuv / usage-nodejs-path-relative-between-abs Passed
Computes relative paths between two absolute filesystem paths with path.relative and verifies forward and backward traversal segments.
Node.js perf_hooks createHistogram record Port / libuv / usage-nodejs-perf-hooks-histogram Passed
Creates a perf_hooks histogram, records several integer samples and verifies min, max and count reflect the recorded values.
Node.js process.cpuUsage and os.uptime sanity Port / libuv / usage-nodejs-process-cpu-os-uptime Passed
Asserts process.cpuUsage diff is non-negative after busy work and os.uptime returns a positive number.
nodejs hrtime bigint monotonic Port / libuv / usage-nodejs-process-hrtime-bigint Passed
Reads two consecutive process.hrtime.bigint samples through Node and verifies the second value is not earlier than the first.
Node.js process.hrtime tuple monotonic with diff Port / libuv / usage-nodejs-process-hrtime-tuple Passed
Captures process.hrtime() once and again with the prior tuple as the diff base and asserts the elapsed seconds and nanoseconds are non-negative integers.
Node.js process.memoryUsage rss and heap fields positive Port / libuv / usage-nodejs-process-memory-usage-rss Passed
Calls process.memoryUsage() and asserts rss, heapTotal, heapUsed, and external are positive numbers with heapUsed <= heapTotal.
Node.js AsyncLocalStorage propagates store across awaits Port / libuv / usage-nodejs-r10-async-local-storage-context Passed
Runs two concurrent ALS.run scopes, awaits a setImmediate plus a setTimeout chain in each, and asserts each promise resolves to its own scope's store value.
Node.js events.on async iterator collects emitted payloads Port / libuv / usage-nodejs-r10-events-on-async-iterator Passed
Uses events.on to async-iterate a chain of typed events on an EventEmitter, breaking after a known count, and asserts the iterator yields the expected payload sequence.
Node.js fs.cpSync recursive copy with filter callback Port / libuv / usage-nodejs-r10-fs-cpsync-filter-callback Passed
Recursively copies a directory tree with fs.cpSync using a filter that excludes .skip files, then verifies only the non-skipped entries appear at the destination.
Node.js http server addTrailers chunked response Port / libuv / usage-nodejs-r10-http-server-trailers-loopback Passed
Starts an http.Server on 127.0.0.1, writes a chunked response with addTrailers, requests it via http.get, and asserts the trailers object on the client response carries the expected key/value pair.
Node.js net loopback over a Unix domain socket Port / libuv / usage-nodejs-r10-net-unix-socket-roundtrip Passed
Binds a net.Server on a filesystem Unix domain socket, sends a 4 KiB payload from a client, and verifies the bytes echo back unchanged via sha256 equality.
Node.js perf_hooks monitorEventLoopDelay records samples Port / libuv / usage-nodejs-r10-perf-eventloop-delay-monitor Passed
Enables a monitorEventLoopDelay histogram, busy-waits to trigger samples, and asserts the histogram exposes a positive min/max in nanoseconds and a nonzero count after disable.
Node.js TextDecoder utf-16le strips BOM Port / libuv / usage-nodejs-r10-text-decoder-utf16le-bom Passed
Encodes ASCII text into a UTF-16LE byte sequence with a leading 0xFF 0xFE BOM and verifies the standard TextDecoder('utf-16le') decodes it without surfacing the BOM in the resulting string.
Node.js vm.runInNewContext isolates the global object Port / libuv / usage-nodejs-r10-vm-runinnewcontext-isolation Passed
Evaluates code in two independent vm contexts and verifies a name set in one is not visible in the other while a value can still be returned to the calling scope.
Node.js worker postMessage transferList detaches ArrayBuffer Port / libuv / usage-nodejs-r10-worker-transferlist-arraybuffer Passed
Posts an ArrayBuffer to a worker via the transferList, has the worker echo back its byteLength, and verifies the parent-side ArrayBuffer is detached (byteLength == 0) after transfer.
Node.js zlib deflateRawSync inflateRawSync roundtrip Port / libuv / usage-nodejs-r10-zlib-deflateraw-roundtrip Passed
Compresses 32 KiB of pseudo-random bytes with zlib.deflateRawSync (no zlib header) and verifies inflateRawSync recovers the original payload byte-for-byte.
Node.js BroadcastChannel delivers postMessage between same-named channels Port / libuv / usage-nodejs-r11-broadcastchannel-cross-channel Passed
Opens two BroadcastChannel instances with the same name, posts a string from one, and asserts the other receives it via the onmessage handler.
Node.js crypto.createPublicKey extracts ed25519 public key from PKCS8 PEM private Port / libuv / usage-nodejs-r11-crypto-publickey-from-private-pem Passed
Generates an ed25519 keypair, exports the private key as PKCS8 PEM, derives the public KeyObject from that PEM via createPublicKey, and asserts its SPKI export equals the original public PEM.
Node.js dgram setBroadcast returns positive recv and send buffer sizes Port / libuv / usage-nodejs-r11-dgram-setbroadcast-buffer-sizes Passed
Binds a UDP4 socket on a random loopback port, calls setBroadcast(true), then verifies getRecvBufferSize and getSendBufferSize both report kernel-positive values.
Node.js events.once awaits next emit and resolves with full argument tuple Port / libuv / usage-nodejs-r11-events-once-promise-args Passed
Schedules a deferred emit of a two-argument ready event and asserts the events.once Promise resolves to an ordered array with both arguments.
Node.js querystring stringify and parse round-trip with custom separator and equals Port / libuv / usage-nodejs-r11-querystring-custom-separator-roundtrip Passed
Stringifies an object using semicolon separator and tilde assignment, asserts the encoded shape, then re-parses to the original key/value pairs.
Node.js querystring.parse aggregates repeated keys into arrays Port / libuv / usage-nodejs-r11-querystring-parse-multi-value Passed
Parses a query string with two repeated color= entries plus a singleton size= and asserts color is an ordered string array while size remains a scalar string.
Node.js tty.isatty returns false for piped stdin and unknown fds Port / libuv / usage-nodejs-r11-tty-isatty-pipe-false Passed
Pipes empty stdin into node and asserts tty.isatty(0) is false, plus asserts a clearly-unbound fd 99 also reports false.
Node.js util.callbackify wraps an async function into node-style callback Port / libuv / usage-nodejs-r11-util-callbackify-roundtrip Passed
Wraps an async function that doubles its argument with util.callbackify and asserts the resulting callback receives a null error and the doubled value.
Node.js util.format substitutes %s %d %j placeholders Port / libuv / usage-nodejs-r11-util-format-placeholders Passed
Builds a formatted string with %s, %d, and %j placeholders against a string, integer, and JSON-serializable object and asserts the result matches the expected concatenation byte-for-byte.
Node.js util.types discriminates ArrayBuffer, Promise, and AsyncFunction Port / libuv / usage-nodejs-r11-util-types-arraybuffer-promise Passed
Calls util.types.isArrayBuffer, isPromise, and isAsyncFunction with positive and negative samples and asserts each predicate returns true only for the matching primitive.
Node.js child_process.spawn collects stdout from /bin/echo Port / libuv / usage-nodejs-r12-child-process-spawn-stdout Passed
Spawns /bin/echo with an argument, collects stdout, and asserts the buffer contains the expected token followed by a newline with exit code 0.
Node.js dgram udp4 binds an ephemeral port and exposes 127.0.0.1 address Port / libuv / usage-nodejs-r12-dgram-udp4-port-zero Passed
Creates a udp4 socket bound to port 0 on 127.0.0.1 and asserts socket.address() reports the loopback address with a non-zero allocated port.
Node.js dns.lookup of localhost resolves to a loopback IPv4 address Port / libuv / usage-nodejs-r12-dns-resolve4-localhost Passed
Calls dns.lookup('localhost', {family:4}) and asserts the resolved address is in the 127.0.0.0/8 range with family 4.
Node.js fs.promises.mkdtemp creates a unique directory under a prefix Port / libuv / usage-nodejs-r12-fs-promises-mkdtemp-prefix Passed
Calls fs.promises.mkdtemp with a prefix in a known parent and asserts the returned path starts with the prefix and exists as a directory.
Node.js fs.promises.readFile decodes UTF-8 with explicit encoding Port / libuv / usage-nodejs-r12-fs-promises-readfile-utf8 Passed
Writes a UTF-8 file containing non-ASCII characters and asserts fs.promises.readFile with encoding 'utf8' returns the original string.
Node.js fs.promises.stat distinguishes file from directory Port / libuv / usage-nodejs-r12-fs-promises-stat-isdirectory Passed
Calls fs.promises.stat against a regular file and its parent directory and asserts isFile and isDirectory return the expected booleans for each.
Node.js net.createServer + net.connect echo over an ephemeral 127.0.0.1 port Port / libuv / usage-nodejs-r12-net-tcp-loopback-port-zero Passed
Listens on port 0 of 127.0.0.1, has the server echo bytes back, and asserts the client receives the same payload it sent.
Node.js os.cpus returns an array of CPU descriptors with positive speeds Port / libuv / usage-nodejs-r12-os-cpus-fields Passed
Calls os.cpus and asserts the result is a non-empty array whose entries have a numeric speed and a times object with idle/user fields.
Node.js os.networkInterfaces reports the loopback IPv4 entry Port / libuv / usage-nodejs-r12-os-networkinterfaces-loopback Passed
Filters os.networkInterfaces for an IPv4 entry with internal=true and address 127.0.0.1, asserting at least one interface exposes loopback.
Node.js setImmediate fires after I/O when scheduled inside an fs callback Port / libuv / usage-nodejs-r12-setimmediate-vs-settimeout-zero Passed
Schedules setTimeout(0) and setImmediate inside an fs.readFile callback and asserts setImmediate fires before setTimeout(0), per Node's documented I/O-then-immediate ordering.
Node.js Buffer.from with base64 encoding decodes back to original bytes Port / libuv / usage-nodejs-r13-buffer-from-base64-decode Passed
Builds a base64 string from the literal text 'libuv-r13', decodes it via Buffer.from with the 'base64' encoding, and asserts the resulting buffer round-trips to the same UTF-8 string and length.
Node.js crypto.createHash sha256 matches the published KAT digest for 'abc' Port / libuv / usage-nodejs-r13-crypto-hash-sha256-hex Passed
Computes sha256 of the string 'abc' via crypto.createHash and asserts the hex digest equals the well-known FIPS 180-4 KAT value ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad.
Node.js fs.promises.appendFile appends data to an existing file Port / libuv / usage-nodejs-r13-fs-appendfile-grows-file Passed
Writes an initial line to a file, calls fs.promises.appendFile with a second line, and asserts the resulting contents are the concatenation of both writes in order.
Node.js fs.constants exposes POSIX access bits with conventional values Port / libuv / usage-nodejs-r13-fs-constants-flags Passed
Reads fs.constants and asserts F_OK/R_OK/W_OK/X_OK are integers with the standard POSIX values 0/4/2/1, and that O_CREAT and O_RDONLY are exposed as numeric flags.
Node.js fs.cp with recursive copies a nested directory tree Port / libuv / usage-nodejs-r13-fs-cp-recursive-directory Passed
Builds a two-level source directory with a file at each level, calls fs.promises.cp with recursive=true, and asserts both files are present at the destination with matching content.
Node.js fs.promises.realpath resolves a symlink to its target file Port / libuv / usage-nodejs-r13-fs-realpath-resolves-symlink Passed
Creates a target file and a relative symlink, calls fs.promises.realpath on the symlink, and asserts the resolved absolute path equals the realpath of the target.
Node.js perf_hooks.performance.now is monotonic across a setTimeout delay Port / libuv / usage-nodejs-r13-perf-hooks-now-monotonic Passed
Captures performance.now before and after a 25 ms setTimeout, asserts the second sample is strictly greater than the first, and that the elapsed delta is at least 20 ms.
Node.js stream/promises pipeline writes a Readable iterable into a file Port / libuv / usage-nodejs-r13-stream-pipeline-async-promise Passed
Awaits stream.promises.pipeline of a Readable.from iterable into fs.createWriteStream and asserts the destination file contains the concatenated chunks in order.
Node.js setInterval fires repeatedly until clearInterval stops it Port / libuv / usage-nodejs-r13-timers-clear-interval Passed
Schedules a 5 ms setInterval that increments a counter, calls clearInterval after the third tick, and asserts the counter stayed at exactly three after a longer wait.
Node.js worker_threads postMessage round-trips a payload from worker to parent Port / libuv / usage-nodejs-r13-worker-postmessage-roundtrip Passed
Spawns a Worker with eval=true that listens for a parent message and posts back the squared value, then asserts the parent receives the expected response and the worker exits cleanly with code 0.
Node.js events.once resolves with the emitted argument array Port / libuv / usage-nodejs-r14-events-once-emit-promise Passed
Constructs an EventEmitter, schedules emit('ready', 'a', 'b') on the next tick, and awaits events.once(emitter, 'ready') asserting the resolved value is the array ['a', 'b'].
Node.js fs.promises.access reports F_OK and R_OK on a readable file Port / libuv / usage-nodejs-r14-fs-promises-access-constants Passed
Writes a probe file and awaits fs.promises.access twice with fs.constants.F_OK and fs.constants.R_OK, asserting both calls resolve without throwing while access for a non-existent path is rejected with an Error whose code is 'ENOENT'.
Node.js fs.promises.lstat reports symlink status without following the link Port / libuv / usage-nodejs-r14-fs-promises-lstat-symlink Passed
Creates a regular file and a symbolic link pointing to it, awaits fs.promises.lstat on the link, and asserts isSymbolicLink is true and isFile is false; then awaits fs.promises.stat on the same link and asserts isFile is true (target is followed).
Node.js fs.promises.readdir with withFileTypes returns Dirent entries Port / libuv / usage-nodejs-r14-fs-promises-readdir-with-file-types Passed
Creates a temp directory with one regular file and one subdirectory, then awaits fs.promises.readdir with withFileTypes:true and asserts the returned Dirent entries report the correct names and isFile/isDirectory classification.
Node.js fs.promises.utimes sets atime and mtime to deterministic epoch seconds Port / libuv / usage-nodejs-r14-fs-promises-utimes-roundtrip Passed
Writes a probe file, calls fs.promises.utimes with explicit atime=1700000000 and mtime=1600000000 epoch-second values, then awaits fs.promises.stat and asserts the returned atimeMs and mtimeMs match the requested seconds (within sub-second tolerance for filesystem timestamp resolution).
Node.js http.METHODS lists GET/POST and STATUS_CODES maps 200 to OK Port / libuv / usage-nodejs-r14-http-methods-and-status-codes Passed
Reads http.METHODS and asserts it is a non-empty array containing at least 'GET', 'POST', 'PUT', 'DELETE', and 'HEAD', then verifies http.STATUS_CODES[200] equals 'OK' and STATUS_CODES[404] equals 'Not Found'.
Node.js os.userInfo and os.uptime expose real numeric process and host data Port / libuv / usage-nodejs-r14-os-userinfo-uptime Passed
Calls os.userInfo() and asserts the returned object exposes string username/homedir/shell fields with a numeric uid/gid, then calls os.uptime() and asserts it returns a positive finite number.
Node.js querystring.stringify and parse round-trip a multi-key object Port / libuv / usage-nodejs-r14-querystring-stringify-roundtrip Passed
Calls querystring.stringify on an object with mixed string and number values, asserts the encoded form contains the expected key=value pairs joined by ampersands, and parses the result back asserting numeric values come back as their string representation.
Node.js stream.Readable.from yields each item via async iteration Port / libuv / usage-nodejs-r14-stream-readable-from-iterate Passed
Builds a Readable stream from an array via stream.Readable.from and iterates it with for-await-of, asserting the collected sequence equals the source array element-for-element.
Node.js util.types.isPromise distinguishes native promises from plain objects Port / libuv / usage-nodejs-r14-util-types-is-promise Passed
Asserts util.types.isPromise returns true for Promise.resolve() and an async-function call, and returns false for plain objects, thenables, and primitive values.
Node.js Buffer.byteLength reports two-byte length for the registered-trademark sign in UTF-8 Port / libuv / usage-nodejs-r15-buffer-write-utf8-byte-length Passed
Calls Buffer.byteLength on a string containing the registered-trademark sign and asserts the UTF-8 encoded length is 2 bytes (2-byte sequence) while the JavaScript string length stays at 1 character.
Node.js crypto.pbkdf2Sync produces deterministic output for fixed inputs Port / libuv / usage-nodejs-r15-crypto-pbkdf2-sync-deterministic Passed
Calls crypto.pbkdf2Sync('password','salt-r15',1000,16,'sha256') twice and asserts both invocations return Buffers of length 16 with byte-identical contents (PBKDF2 is deterministic for fixed inputs).
Node.js fs.promises.copyFile duplicates source bytes into destination Port / libuv / usage-nodejs-r15-fs-promises-copyfile-roundtrip Passed
Writes a known payload to a source file, calls fs.promises.copyFile to a sibling destination, and asserts the destination contains identical bytes via fs.promises.readFile compared to the source.
Node.js fs.promises.rmdir removes an empty directory and reports ENOENT afterwards Port / libuv / usage-nodejs-r15-fs-promises-rmdir-empty Passed
Creates an empty directory, calls fs.promises.rmdir on it, then awaits fs.promises.stat and asserts the rejection has code 'ENOENT' confirming the directory no longer exists.
Node.js net.Server on 127.0.0.1 echoes a payload back to the client Port / libuv / usage-nodejs-r15-net-server-localhost-echo Passed
Starts a TCP server bound to 127.0.0.1 on port 0 that echoes received data, connects a client, sends a fixed payload, and asserts the client receives the same bytes back before close.
Node.js os.endianness, os.arch, and os.platform expose well-formed identifiers Port / libuv / usage-nodejs-r15-os-endianness-arch-platform Passed
Calls os.endianness, os.arch, and os.platform and asserts endianness is 'BE' or 'LE', platform equals 'linux' on Ubuntu 24.04, and arch is one of the known Node.js architecture strings.
Node.js path.resolve produces an absolute path from compound segments Port / libuv / usage-nodejs-r15-path-resolve-absolute Passed
Calls path.resolve('/abs', 'sub', '..', 'final') and asserts the result equals '/abs/final', confirming '..' segments collapse and the result is anchored at the leading absolute prefix.
Node.js stream.PassThrough forwards all written chunks unchanged Port / libuv / usage-nodejs-r15-stream-passthrough-chunks Passed
Writes three string chunks into a stream.PassThrough, ends the stream, collects all data events, and asserts the concatenated UTF-8 buffer equals the joined source chunks.
Node.js URLSearchParams set then get returns the assigned value Port / libuv / usage-nodejs-r15-url-searchparams-get-set-roundtrip Passed
Constructs new URLSearchParams('a=1&b=2'), sets 'a' to 'r15' and 'c' to 'three', and asserts get('a') returns 'r15', get('b') still returns '2', and get('c') returns 'three'.
Node.js zlib.deflateSync and inflateSync round-trip a payload byte-for-byte Port / libuv / usage-nodejs-r15-zlib-deflate-inflate-roundtrip Passed
Compresses a 256-byte deterministic payload with zlib.deflateSync, decompresses with zlib.inflateSync, and asserts the inflated output equals the original payload.
Node.js child_process.spawnSync invokes printf to echo a structured argv into stdout Port / libuv / usage-nodejs-r16-child-process-spawnsync-echo-argv Passed
Calls child_process.spawnSync('printf', ['%s|%s|%s', 'a', 'b', 'c']), asserts the exit status is 0, asserts stdout decoded as utf8 equals 'a|b|c', and asserts stderr is empty — exercising Node.js's libuv process spawn surface.
Node.js crypto.randomBytes(32) returns a 32-byte Buffer of non-zero entropy Port / libuv / usage-nodejs-r16-crypto-randombytes-32-length Passed
Calls crypto.randomBytes(32) synchronously, asserts the returned value is a Buffer of length 32, and asserts at least one byte is non-zero — confirming Node.js's libuv-backed crypto random source emits the requested byte count.
Node.js dns.promises.lookup resolves localhost-style hostname to 127.0.0.1 in family 4 Port / libuv / usage-nodejs-r16-dns-promises-lookup-loopback-ipv4 Passed
Awaits dns.promises.lookup('127.0.0.1', {family: 4}), asserts the resolved address equals '127.0.0.1' and the returned family equals 4 — exercising Node.js's libuv getaddrinfo path for a numeric IPv4 host.
Node.js fs.promises.copyFile duplicates a binary payload exactly into a new path Port / libuv / usage-nodejs-r16-fs-promises-copyfile-bytes-match Passed
Writes 256 bytes (0x00..0xff) to a source file, calls fs.promises.copyFile into a sibling destination, reads both back via fs.promises.readFile and asserts the two buffers are byte-for-byte equal and exactly 256 bytes long — exercising Node.js's libuv copy_file path.
Node.js fs.promises.readdir enumerates only regular files created in a fresh tmp dir Port / libuv / usage-nodejs-r16-fs-promises-readdir-regular-files-only Passed
Creates three regular files (alpha.txt, beta.txt, gamma.txt) in a fresh empty directory, calls fs.promises.readdir on it, and asserts the returned array sorted alphabetically equals exactly ['alpha.txt','beta.txt','gamma.txt'] — relying on regular files only to avoid dotfile/hidden-dir surfacing differences.
Node.js http server emits two chunks whose body length sum matches the client receive count Port / libuv / usage-nodejs-r16-http-loopback-chunked-length-sum Passed
Starts an http server on 127.0.0.1:0 that writes two fixed chunks ("alpha-" and "beta") before ending the response, fires an http.request against it, accumulates all received data on the client and asserts the joined body equals "alpha-beta" with byte length 10 — exercising Node.js's libuv-backed http transport.
Node.js net.createServer accepts a single loopback TCP connection event Port / libuv / usage-nodejs-r16-net-server-accept-loopback-connection Passed
Creates a TCP server bound to 127.0.0.1:0 that records 'connection' events, opens a single client connection, ends it cleanly, and asserts the server observed exactly one connection event with a remoteAddress in the IPv4 loopback range before close.
Node.js process.versions exposes both node and uv version strings Port / libuv / usage-nodejs-r16-process-versions-has-node-and-uv Passed
Reads process.versions, asserts both the node and uv keys are present, that each value is a non-empty string, and that each begins with a digit followed by a dot — confirming Node.js surfaces its libuv version through the standard API.
Node.js setImmediate invokes its callback exactly once within the current event-loop turn Port / libuv / usage-nodejs-r16-setimmediate-fires-from-event-loop Passed
Schedules a setImmediate callback that increments a counter, returns from the synchronous script entry, and asserts via process.on('exit') that the callback ran exactly once before the loop drained — exercising Node.js's libuv check-phase scheduling.
Node.js util.promisify(fs.stat) resolves to a Stats object whose size matches the file length Port / libuv / usage-nodejs-r16-util-promisify-fs-stat-returns-size Passed
Writes a fixed-length payload to a temp file, calls util.promisify(fs.stat) on the path, asserts the result has numeric size equal to the payload byte length, asserts isFile() is true, and asserts an mtimeMs property is present as a number — exercising Node.js's libuv fs.stat surface through promisify.
Node.js Buffer.from('abc').toString('hex') yields the canonical '616263' Port / libuv / usage-nodejs-r17-buffer-from-string-hex-encoding Passed
Constructs a Buffer from the ASCII string "abc", asserts toString('hex') returns the lowercase hex literal '616263', and asserts the Buffer length is 3 — exercising Node.js Buffer encoding on top of libuv runtime.
Node.js crypto.createHash('sha256').update('abc') matches the FIPS-180 KAT Port / libuv / usage-nodejs-r17-crypto-sha256-abc-kat Passed
Computes SHA-256 of the ASCII string "abc" via crypto.createHash, asserts the lowercase hex digest equals the FIPS-180-2 known answer "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad", and asserts the digest length is exactly 64 hex characters.
Node.js EventEmitter.once handler fires exactly once across multiple emits Port / libuv / usage-nodejs-r17-events-once-fires-single-time Passed
Registers a once() handler on an EventEmitter, emits the event three times in a row, and asserts the handler counter increments to exactly 1 — confirming the libuv-backed Node.js event emitter unsubscribes the handler after the first invocation.
Node.js fs.promises.access resolves for an existing file and rejects for a missing path Port / libuv / usage-nodejs-r17-fs-promises-access-existing-file Passed
Creates a temporary file, calls fs.promises.access with F_OK on the existing path (expects resolution), and calls fs.promises.access on a missing sibling path (expects rejection with ENOENT); asserts both expectations are met, confirming libuv-backed async stat surfacing.
Node.js fs.promises writeFile + readFile preserves bytes verified by SHA-256 Port / libuv / usage-nodejs-r17-fs-promises-write-read-sha256-roundtrip Passed
Writes a 1024-byte deterministic payload to a temp file via fs.promises.writeFile, reads it back via fs.promises.readFile, and asserts the SHA-256 hex digest of the read buffer equals the SHA-256 hex digest of the original payload, exercising libuv-backed async file I/O via promises.
Node.js JSON.stringify preserves declaration order for a small literal object Port / libuv / usage-nodejs-r17-json-stringify-key-order-stable Passed
Serializes the literal {a:1, b:2, c:3} with JSON.stringify, asserts the output is exactly the string '{"a":1,"b":2,"c":3}' (no whitespace, declaration order preserved), and asserts JSON.parse round-trips it back to a deep-equal object.
Node.js path.join collapses .. segments to produce a normalized POSIX path Port / libuv / usage-nodejs-r17-path-join-resolves-dotdot Passed
Calls path.posix.join('/a/b', '..', 'c', '.', 'd.txt') and asserts the result equals '/a/c/d.txt', exercising Node.js path normalization rules on top of the libuv runtime.
Node.js process.versions exposes string values for "node" and "v8" Port / libuv / usage-nodejs-r17-process-versions-has-v8-and-node Passed
Reads process.versions and asserts both the "node" and "v8" entries exist as non-empty strings matching the dotted version pattern '^\d+\.\d+', confirming the runtime metadata is intact.
Node.js stream.Readable.from(['abc']) piped to a Writable writes exactly 3 bytes Port / libuv / usage-nodejs-r17-stream-readable-from-pipe-bytes Passed
Builds a Readable stream from the in-memory array ['abc'], pipes it into a Writable that concatenates chunks, awaits 'finish', and asserts the final collected buffer is exactly the 3-byte string 'abc' — exercising libuv-backed Node.js stream plumbing.
Node.js WHATWG URL parses a URL and exposes hostname, pathname, and protocol Port / libuv / usage-nodejs-r17-url-whatwg-host-parse Passed
Constructs new URL('https://example.test:8443/r17/path?q=1'), asserts hostname equals 'example.test', port equals '8443', pathname equals '/r17/path', protocol equals 'https:', and searchParams.get('q') equals '1', exercising the WHATWG URL parser shipped with Node.js.
Node.js child_process.spawn collects stdout and reports exit code 0 for /bin/true Port / libuv / usage-nodejs-r18-child-process-spawn-exit-code-zero Passed
Spawns /bin/echo via child_process.spawn with a fixed argv vector, accumulates the stdout data event chunks, awaits the close event, asserts the captured stdout (trimmed) equals "r18-spawn-token", and asserts the close event reports exit code 0, exercising libuv-backed process spawn + pipe wiring.
Node.js dns.promises.lookup('localhost') resolves to a loopback address Port / libuv / usage-nodejs-r18-dns-promises-lookup-localhost Passed
Calls require('dns').promises.lookup('localhost') with default options, awaits the result, asserts the returned object has a string "address" property, asserts the family is either 4 or 6, and asserts the address starts with "127." (IPv4 loopback) or equals "::1" (IPv6 loopback), exercising libuv-backed name resolution via the threadpool getaddrinfo path.
Node.js fs.promises.chmod sets a file mode that stat reports back Port / libuv / usage-nodejs-r18-fs-promises-chmod-then-stat-mode Passed
Creates a temp file via fs.promises.writeFile, calls fs.promises.chmod with mode 0o600, then calls fs.promises.stat and asserts the low 9 bits of st.mode equal 0o600, confirming libuv-backed chmod/stat round-trip on Linux ext4-like filesystems.
Node.js fs.promises.copyFile duplicates a file with byte-identical contents Port / libuv / usage-nodejs-r18-fs-promises-copyfile-roundtrip Passed
Writes a deterministic 256-byte payload to a source path via fs.promises.writeFile, calls fs.promises.copyFile to copy it to a sibling destination, and asserts both source and destination still exist and have byte-identical contents equal to the original payload, exercising libuv-backed copy_file primitives.
Node.js fs.promises mkdir creates a directory that rmdir removes Port / libuv / usage-nodejs-r18-fs-promises-mkdir-rmdir-roundtrip Passed
Creates a temporary parent, calls fs.promises.mkdir on a nested target, asserts fs.promises.stat.isDirectory() returns true for the new path, then calls fs.promises.rmdir on the same path and asserts a subsequent fs.promises.access raises ENOENT, exercising libuv-backed directory create + remove primitives.
Node.js fs.promises.readdir lists exactly the files created in a directory Port / libuv / usage-nodejs-r18-fs-promises-readdir-lists-files Passed
Creates a fresh directory, writes three files with deterministic names via fs.promises.writeFile, calls fs.promises.readdir on the directory and asserts the returned array, when sorted, equals exactly ["a.txt", "b.txt", "c.txt"], exercising libuv-backed directory scan/readdir behavior.
Node.js fs.promises.rename moves a file, preserving its byte contents Port / libuv / usage-nodejs-r18-fs-promises-rename-file-moves-bytes Passed
Writes a fixed payload to a source path via fs.promises.writeFile, calls fs.promises.rename to move it to a sibling destination, asserts the source path is gone (ENOENT) and the destination exists with byte-identical contents to the original payload, exercising libuv-backed atomic rename semantics on the same filesystem.
Node.js net.createServer echoes data back over a loopback TCP socket Port / libuv / usage-nodejs-r18-net-server-loopback-echo-roundtrip Passed
Starts a net.createServer that echoes every chunk received back to the client, binds on 127.0.0.1 with an OS-assigned port, calls net.createConnection to the bound port, writes a fixed payload, and asserts the data event on the client delivers the same payload back byte-for-byte before both sides are closed, exercising libuv-backed TCP I/O on loopback.
Node.js os.cpus returns a non-empty array and os.hostname returns a non-empty string Port / libuv / usage-nodejs-r18-os-cpus-and-hostname-shape Passed
Calls require('os').cpus(), asserts the return is an Array with length at least 1 and each element has a string "model" plus a numeric "speed", then calls os.hostname() and asserts the result is a non-empty string, exercising libuv-backed system introspection (uv_cpu_info / uv_os_gethostname).
Node.js timers/promises setTimeout resolves with the supplied value after a delay Port / libuv / usage-nodejs-r18-timers-promises-settimeout-resolves Passed
Calls require('timers/promises').setTimeout(20, 'r18-token') and awaits the promise, asserts the resolved value equals "r18-token", and asserts that the measured elapsed milliseconds (Date.now diff) is at least 15 (allowing scheduler slack), exercising libuv-backed timer scheduling via the promise-based timers API.
Node.js crypto.getCiphers enumerates a list that includes aes-256-gcm Port / libuv / usage-nodejs-r19-crypto-getciphers-has-aes-256-gcm Passed
Calls crypto.getCiphers(), asserts the returned value is an Array with non-zero length, asserts every entry is a string, asserts 'aes-256-gcm' is present, and asserts 'aes-128-cbc' is present, confirming the OpenSSL-backed cipher enumeration surface exposed to Node.js (libuv-hosted) reports the canonical AEAD and CBC cipher identifiers.
Node.js dgram.createSocket bind on port 0 returns a positive ephemeral port Port / libuv / usage-nodejs-r19-dgram-port-zero-assigns-port Passed
Creates a udp4 dgram socket via dgram.createSocket, binds to address '127.0.0.1' on port 0, awaits the 'listening' event, calls socket.address() and asserts the returned object has port > 0, family is 'IPv4', and address is '127.0.0.1', closes the socket and asserts a 'close' callback fires, exercising libuv-backed UDP ephemeral-port assignment.
Node.js fs.promises.truncate shrinks a file to zero bytes Port / libuv / usage-nodejs-r19-fs-promises-truncate-to-zero Passed
Writes a 256-byte payload to a temp file via fs.promises.writeFile, asserts fs.promises.stat reports size 256, calls fs.promises.truncate on the same path with length 0, then asserts a follow-up stat reports size 0 and that fs.promises.readFile returns an empty Buffer, exercising libuv-backed truncate semantics through the promises API.
Node.js fs.statSync mtime is a Date instance with epoch greater than zero Port / libuv / usage-nodejs-r19-fs-statsync-mtime-is-date Passed
Writes a temp file, calls fs.statSync on it, asserts the result.mtime is an instance of Date, asserts result.mtime.getTime() is a finite positive number, asserts result.atime and result.ctime are also Date instances, and asserts result.mtimeMs is a finite positive number, exercising libuv-backed stat field shape and types.
Node.js fs.watch fires a change event after appendFile mutates a watched file Port / libuv / usage-nodejs-r19-fs-watch-detects-content-change Passed
Writes an initial file, opens an fs.watch handle on its parent directory, schedules an fs.promises.appendFile of a new chunk after 30ms, and asserts the watcher receives at least one 'change' (or 'rename') event whose filename equals the file's basename before timeout, exercising libuv's inotify/kqueue-backed fs.watch on a real mutation.
Node.js http.METHODS exposes the standard HTTP verbs including GET POST PUT DELETE Port / libuv / usage-nodejs-r19-http-methods-includes-get Passed
Imports the http module, asserts http.METHODS is an Array with non-zero length, asserts every entry is an upper-case string, and asserts the verbs 'GET', 'POST', 'PUT', 'DELETE', 'HEAD', 'OPTIONS', and 'PATCH' are all present (case-sensitive), confirming the libuv-hosted HTTP parser exposes the expected verb registry.
Node.js os.loadavg returns an array of three finite non-negative numbers Port / libuv / usage-nodejs-r19-os-loadavg-three-numbers Passed
Calls os.loadavg(), asserts the result is an Array of length exactly 3, asserts each entry is a finite Number, asserts each entry is >= 0, and asserts os.uptime() returns a finite positive Number, exercising the libuv-backed OS-level system metric surface on Linux.
Node.js process.uptime increases after a libuv timer-backed delay Port / libuv / usage-nodejs-r19-process-uptime-increases-after-delay Passed
Captures process.uptime() into t0, awaits a setTimeout of 30ms via timers/promises, captures process.uptime() into t1, and asserts t1 > t0 and (t1 - t0) >= 0.015 seconds (15ms, allowing scheduler slack against the 30ms target), confirming process.uptime advances monotonically over libuv-driven timer intervals.
Node.js stream.Readable.from(array) emits each element in order through async iteration Port / libuv / usage-nodejs-r19-stream-readable-from-array-collect Passed
Creates a Readable stream via Readable.from(['a', 'b', 'c', 'd']), consumes it with for-await-of into a JavaScript array, and asserts the collected array deep-equals ['a','b','c','d'] preserving order and arity, exercising libuv-hosted stream iteration semantics.
Node.js zlib.brotliCompressSync and brotliDecompressSync round-trip a repeated payload Port / libuv / usage-nodejs-r19-zlib-brotli-decompress-roundtrip Passed
Constructs a Buffer of 4096 bytes filled with byte 0x42, compresses it via zlib.brotliCompressSync, asserts the resulting compressed Buffer is smaller than the source (compression effective on a highly compressible repeated payload), decompresses the compressed Buffer via brotliDecompressSync, and asserts the recovered Buffer is exactly equal byte-for-byte to the original, exercising Node.js zlib brotli sync API.
Node.js Buffer.compare returns 0 for equal buffers and non-zero for differing ones Port / libuv / usage-nodejs-r20-buffer-compare-equal-and-unequal Passed
Builds two Buffers via Buffer.from('hello'), asserts Buffer.compare returns 0; then builds Buffer.from('hellp') and asserts Buffer.compare returns a non-zero integer in {-1, 1}, confirming Node's libuv-linked Buffer comparison helper returns sign-bounded results.
Node.js crypto.createHash('md5') matches the published RFC 1321 KAT for "abc" Port / libuv / usage-nodejs-r20-crypto-md5-abc-kat Passed
Calls crypto.createHash('md5').update('abc').digest('hex'), asserts the result equals the lowercase hex string '900150983cd24fb0d6963f7d28e17f72' (RFC 1321 test vector 'abc'), confirming Node's OpenSSL-backed MD5 implementation is correctly wired through the libuv-built runtime.
Node.js fs.linkSync creates a hardlink whose inode matches the source Port / libuv / usage-nodejs-r20-fs-link-creates-hardlink-shares-inode Passed
Writes a probe file 'src', calls fs.linkSync(src, dst) to create a hardlink, statSync both paths, and asserts the resulting ino fields are strictly equal (same inode), nlink for src is >= 2, and reading dst yields the same content as src, confirming libuv-backed link(2) shares the underlying inode.
Node.js fs.realpathSync follows a symlink chain to the canonical target Port / libuv / usage-nodejs-r20-fs-realpath-resolves-symlink-chain Passed
Creates a regular file 'target', a symlink 'link1' -> 'target', and a symlink 'link2' -> 'link1', calls fs.realpathSync('link2'), and asserts the returned path string ends with '/target', confirming the libuv-backed realpath syscall resolves a two-hop symlink chain to the canonical filesystem path.
Node.js os.EOL is the single newline character on a Linux host Port / libuv / usage-nodejs-r20-os-eol-is-newline-on-linux Passed
Reads the os.EOL property and asserts it is exactly the one-character string '\n' (LF), confirming Node's libuv-backed OS-line-terminator reflects Ubuntu 24.04 POSIX conventions.
Node.js path.extname and path.basename split a filename into name and extension Port / libuv / usage-nodejs-r20-path-extname-and-basename Passed
Calls path.extname('/a/b/c.tar.gz') and asserts the return is '.gz' (only the last extension), calls path.basename('/a/b/file.txt') and asserts the return is 'file.txt', calls path.basename('/a/b/file.txt', '.txt') and asserts the return is 'file', confirming Node's documented POSIX path semantics.
Node.js process.env assignment is visible to the same Node.js process Port / libuv / usage-nodejs-r20-process-env-set-and-read Passed
Assigns process.env.R20_VALIDATOR_VAR = 'r20-value', reads process.env.R20_VALIDATOR_VAR back, and asserts the returned string equals 'r20-value' exactly, deletes the key and asserts subsequent read returns undefined, confirming Node's libuv-built environment proxy reflects in-process mutations.
Node.js stream/promises pipeline completes for a readable-to-writable file copy Port / libuv / usage-nodejs-r20-stream-pipeline-async-success Passed
Writes a known byte payload to a source file, uses fs.createReadStream and fs.createWriteStream wired via stream/promises.pipeline to copy it to a destination, awaits the pipeline promise, reads the destination back and asserts it equals the source bytes, confirming libuv-backed stream pipelining succeeds for a trivial file copy.
Node.js WHATWG URL searchParams round-trip preserves a value with spaces Port / libuv / usage-nodejs-r20-url-whatwg-search-params-roundtrip Passed
Constructs new URL('https://example.com/x?q=hello%20world&n=5'), reads searchParams.get('q') and asserts it equals 'hello world' (URL-decoded), reads searchParams.get('n') and asserts it equals '5', then sets searchParams.set('q', 'foo bar') and asserts url.search now contains 'q=foo+bar' (form-style encoding), confirming Node's URL+URLSearchParams interaction follows the WHATWG spec.
Node.js util.inspect respects depth option and stops at the configured nesting level Port / libuv / usage-nodejs-r20-util-inspect-truncates-and-uses-depth Passed
Calls util.inspect({a: {b: {c: 1}}}, { depth: 0 }) and asserts the returned string contains the substring '[Object]' (indicating depth truncation kicked in), then calls util.inspect with depth: 5 on the same object and asserts the output contains 'c: 1' (full nesting visible), confirming Node's documented inspect depth-bound semantics.
Node.js AbortController cancels a timers/promises setTimeout with AbortError Port / libuv / usage-nodejs-r21-abort-controller-aborts-settimeout-promise Passed
Schedules a timers/promises setTimeout(2000) with an AbortController signal, calls controller.abort() shortly after, awaits the promise and asserts it rejects with an AbortError, exercising libuv timer cancellation through Node's abort-aware timer API.
Node.js async_hooks createHook init callback fires for setTimeout async resources Port / libuv / usage-nodejs-r21-async-hooks-create-hook-fires-init Passed
Creates a node:async_hooks hook with an init callback that records async resource types, enables the hook, schedules a setTimeout, and after the timer fires asserts that 'Timeout' appears in the recorded types, exercising libuv's async resource lifecycle reporting via Node async_hooks.
Node.js child_process.exec aborts a child that exceeds maxBuffer Port / libuv / usage-nodejs-r21-child-process-exec-maxbuffer-respects-limit Passed
Spawns 'sh -c "yes | head -c 200000"' under child_process.exec with maxBuffer set to 1024 and asserts the callback fires with an Error whose .code equals 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER', validating libuv-managed stdio buffering caps in Node's child_process API.
Node.js dgram UDP4 socket emits 'message' for an echoed loopback datagram Port / libuv / usage-nodejs-r21-dgram-udp-loopback-message-event Passed
Creates a udp4 dgram.Socket, binds to 127.0.0.1 on a random port, sends a single datagram to its own address, listens for the 'message' event, and asserts the received payload equals the sent payload and rinfo.address is 127.0.0.1 over libuv's uv_udp facility.
Node.js fs.fdatasync flushes a written file descriptor without error Port / libuv / usage-nodejs-r21-fs-fdatasync-flushes-without-error Passed
Opens a temp file via fs.open in 'w+' mode, writes a payload via fs.writeSync, calls fs.fdatasync on the fd (libuv uv_fs_fdatasync request), asserts the callback fires with err === null, then closes and asserts the file contents match the payload.
Node.js fs.promises.cp recursively copies a nested directory tree Port / libuv / usage-nodejs-r21-fs-promises-cp-recursive-tree Passed
Builds a source tree with two nested files, awaits fs.promises.cp(src, dst, { recursive: true }), and asserts both nested file contents at the destination match the source byte-for-byte, exercising libuv's recursive copy operation surfaced through Node fs.promises.
Node.js fs.watch fires a rename event when a file is created in the watched directory Port / libuv / usage-nodejs-r21-fs-watch-detects-create-event Passed
Watches a tmpdir via fs.watch (which uses libuv's uv_fs_event), then creates a new file inside that directory and asserts a 'rename' event with the matching filename is received within a short timeout, exercising libuv's inotify-backed filesystem event surface.
Node.js connected client socket reports localAddress 127.0.0.1 Port / libuv / usage-nodejs-r21-net-server-localaddress-loopback Passed
Starts a net.Server listening on 127.0.0.1 with an ephemeral port, has a client connect over loopback, and asserts inside the 'connection' handler that the accepted socket.remoteAddress is 127.0.0.1 and that the client socket.localAddress is also 127.0.0.1 over the libuv-backed TCP path.
Node.js process.hrtime.bigint reports a monotonically increasing nanosecond clock Port / libuv / usage-nodejs-r21-process-hrtime-bigint-monotonic Passed
Samples process.hrtime.bigint() twice across a 5 ms setTimeout delay and asserts the second sample is strictly greater than the first by at least 1 million nanoseconds (1 ms), exercising libuv's uv_hrtime backed monotonic clock.
Node.js Worker thread postMessage round-trips a JSON-cloneable payload Port / libuv / usage-nodejs-r21-worker-threads-message-roundtrip Passed
Spawns a Worker via worker_threads with an inline data: eval source that listens on parentPort and echoes any message; the main thread postMessages an object payload, awaits the 'message' event, and asserts the echoed payload deep-equals the sent payload, exercising libuv's thread pool and Node's structured-clone messaging.
Node.js AsyncResource runInAsyncScope Port / libuv / usage-nodejs-r9-async-resource-context Passed
Wraps a callback with AsyncResource and verifies runInAsyncScope passes through the supplied this and arguments.
Node.js child_process.spawn exit code propagation Port / libuv / usage-nodejs-r9-child-process-spawn-exit-code Passed
Spawns /bin/sh -c 'exit 7' via child_process.spawn and verifies the exit event reports code 7 with null signal.
Node.js fs.opendir async iteration Port / libuv / usage-nodejs-r9-fs-opendir-async-iter Passed
Iterates a directory using fs.promises.opendir's async iterator and verifies the dirent set matches the seeded files.
Node.js fs.promises.rm recursive Port / libuv / usage-nodejs-r9-fs-promises-rm-recursive Passed
Builds a nested directory tree and removes it via fs.promises.rm with recursive:true, then asserts the path no longer exists.
Node.js fs.promises.stat mtime via utimes Port / libuv / usage-nodejs-r9-fs-promises-stat-mtime Passed
Sets a known mtime on a file via fs.promises.utimes and verifies fs.promises.stat reports the same value.
Node.js net.Server getConnections counts active sockets Port / libuv / usage-nodejs-r9-net-server-getconnections Passed
Opens a TCP server on 127.0.0.1, makes two concurrent client connections and verifies server.getConnections reports two before all sockets are closed.
Node.js net.Server unref does not block exit Port / libuv / usage-nodejs-r9-net-server-unref-ref Passed
Listens on a 127.0.0.1 TCP port, calls server.unref, and verifies the process exits naturally without an explicit close.
Node.js net socket write flow control Port / libuv / usage-nodejs-r9-net-writable-flow-control Passed
Streams 1 MiB of data through a 127.0.0.1 TCP echo connection and verifies the bytes received equal the bytes sent.
Node.js perf_hooks mark and measure Port / libuv / usage-nodejs-r9-perf-hooks-mark-measure Passed
Records two named marks via perf_hooks.performance and asserts the resulting measure has a non-negative duration and the right name.
Node.js process.cpuUsage delta is non-negative Port / libuv / usage-nodejs-r9-process-cpu-usage-delta Passed
Calls process.cpuUsage twice with a busy loop in between and verifies the delta has non-negative user and system fields.
Node.js async randomBytes Port / libuv / usage-nodejs-randombytes-async Passed
Node.js readFile buffer Port / libuv / usage-nodejs-readfile-buffer Passed
Node.js readline async iterator Port / libuv / usage-nodejs-readline-async-iterator-batch11 Passed
Node.js readline stream Port / libuv / usage-nodejs-readline-stream Passed
Node.js setImmediate Port / libuv / usage-nodejs-setimmediate Passed
Node.js spawn stdio Port / libuv / usage-nodejs-spawn-stdio Passed
Node.js stat call Port / libuv / usage-nodejs-stat-call Passed
Node.js stream finished Port / libuv / usage-nodejs-stream-finished-pass-through Passed
Awaits Node.js stream/promises.finished on a PassThrough stream and verifies the captured payload after the writable side ends.
Node.js stream finished promise Port / libuv / usage-nodejs-stream-finished-promise-batch11 Passed
Node.js stream finished callback Port / libuv / usage-nodejs-stream-finished Passed
Node.js stream pipe Port / libuv / usage-nodejs-stream-pipe Passed
Node.js stream.pipeline propagates source error Port / libuv / usage-nodejs-stream-pipeline-source-error Passed
Runs stream.pipeline with a Readable that emits an error after the first chunk and verifies the promise rejects and the destination file is cleaned.
Node.js stream.pipeline fs read -> Transform -> fs write Port / libuv / usage-nodejs-stream-pipeline-transform Passed
Pipes a source file through a Transform that uppercases bytes into a destination file and asserts the round-trip output.
Node.js stream pipeline Port / libuv / usage-nodejs-stream-pipeline Passed
Node.js stream readable collect Port / libuv / usage-nodejs-stream-readable-collect Passed
Node.js tcp loopback Port / libuv / usage-nodejs-tcp-loopback Passed
Node.js timers setImmediate after I/O ordering Port / libuv / usage-nodejs-timers-immediate-vs-timeout-order Passed
Schedules setImmediate inside an fs.readFile callback alongside setTimeout(0) and asserts setImmediate runs first.
Node.js timers microtask order Port / libuv / usage-nodejs-timers-microtask-order Passed
Node.js timers promises immediate Port / libuv / usage-nodejs-timers-promises-immediate Passed
Node.js timers promises timeout Port / libuv / usage-nodejs-timers-promises-timeout-batch11 Passed
Node.js timers promises Port / libuv / usage-nodejs-timers-promises Passed
Node.js timers setInterval Port / libuv / usage-nodejs-timers-setinterval Passed
Runs repeated timer callbacks with setInterval and verifies the event loop executes the expected sequence.
Node.js timeout refresh Port / libuv / usage-nodejs-timers-timeout-refresh Passed
Node.js udp loopback Port / libuv / usage-nodejs-udp-loopback Passed
Node.js url.fileURLToPath Port / libuv / usage-nodejs-url-fileurltopath Passed
Converts a file:// URL to a filesystem path with url.fileURLToPath and verifies the absolute path round-trips through string and URL forms.
nodejs URL pathname parse Port / libuv / usage-nodejs-url-pathname-parse Passed
Parses a URL through the global URL constructor and verifies pathname plus query parameter access.
Node.js url.pathToFileURL Port / libuv / usage-nodejs-url-pathtofileurl Passed
Converts an absolute filesystem path to a file:// URL with url.pathToFileURL and verifies the protocol and pathname round-trip back through fileURLToPath.
Node.js URLSearchParams append and toString Port / libuv / usage-nodejs-url-searchparams-append Passed
Builds a URLSearchParams instance via append, verifies repeated keys preserve order, getAll returns all values, and toString produces the expected URL-encoded query string.
Node.js util.promisify on setTimeout Port / libuv / usage-nodejs-util-promisify-settimeout Passed
Promisifies the legacy setTimeout signature and awaits a 25ms delay, asserting it resolves with no value and that elapsed time is non-negative.
Node.js worker_threads compute sum Port / libuv / usage-nodejs-worker-compute-sum Passed
Spawns a worker thread that computes a deterministic sum and verifies the result on the main thread.
Node.js worker_threads MessageChannel ping pong Port / libuv / usage-nodejs-worker-message-channel-pingpong Passed
Hands a MessageChannel port to a worker thread and exchanges a ping pong message pair through it.
Node.js worker_threads SHARE_ENV environment sharing Port / libuv / usage-nodejs-worker-share-env Passed
Spawns a worker_threads.Worker with env=worker_threads.SHARE_ENV, mutates process.env in the worker, and verifies the change is visible in the parent process.
Node.js worker thread message Port / libuv / usage-nodejs-worker-thread-message-batch11 Passed
Node.js zlib Brotli round trip Port / libuv / usage-nodejs-zlib-brotli-compress Passed
Compresses and decompresses a payload with Node.js Brotli helpers and verifies the restored text.
Node.js zlib brotli sync round trip Port / libuv / usage-nodejs-zlib-brotli-sync-roundtrip Passed
Round trips a payload through zlib.brotliCompressSync and brotliDecompressSync and verifies byte equality.
Node.js zlib constants Z_BEST_SPEED and Z_BEST_COMPRESSION Port / libuv / usage-nodejs-zlib-constants-best-speed-compression Passed
Verifies zlib.constants exposes Z_BEST_SPEED=1 and Z_BEST_COMPRESSION=9, then deflates a payload at each level and confirms both round trip back to the original bytes.
Node.js async zlib deflate Port / libuv / usage-nodejs-zlib-deflate Passed
nodejs zlib deflate roundtrip Port / libuv / usage-nodejs-zlib-deflatesync-roundtrip Passed
Round-trips a payload through Node zlib.deflateSync and zlib.inflateSync and verifies the restored bytes.
Node.js zlib gunzip buffer Port / libuv / usage-nodejs-zlib-gunzip-buffer Passed
Node.js zlib gzip roundtrip Port / libuv / usage-nodejs-zlib-gzip-roundtrip Passed
Compresses and restores a payload with Node.js zlib gzip and verifies the decompressed text output.
Node.js gzip stream Port / libuv / usage-nodejs-zlib-gzip-stream Passed
Node.js zlib gzipSync Port / libuv / usage-nodejs-zlib-gzipsync Passed
CVE-2024-24806 libuv regression Port / libuv / cve-2024-24806 Passed
Asserts that uv_getaddrinfo on a hostname longer than the legacy 256-byte hostname_ascii buffer returns an error rather than silently truncating, which previously enabled SSRF via crafted long usernames.