1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00

chore: sync up Node.js test files for v20.11.1 (#24066)

Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
This commit is contained in:
Bartek Iwańczuk 2024-06-11 12:41:44 +01:00 committed by GitHub
parent 3d41b486da
commit 6a356aff13
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
89 changed files with 953 additions and 719 deletions

View file

@ -88,10 +88,6 @@ export function read(
if ( if (
!(opt.buffer instanceof Buffer) && !(opt.buffer instanceof Uint8Array) !(opt.buffer instanceof Buffer) && !(opt.buffer instanceof Uint8Array)
) { ) {
if (opt.buffer === null) {
// @ts-ignore: Intentionally create TypeError for passing test-fs-read.js#L87
length = opt.buffer.byteLength;
}
throw new ERR_INVALID_ARG_TYPE("buffer", [ throw new ERR_INVALID_ARG_TYPE("buffer", [
"Buffer", "Buffer",
"TypedArray", "TypedArray",

View file

@ -13,7 +13,6 @@ import * as io from "ext:deno_io/12_io.js";
import * as fs from "ext:deno_fs/30_fs.js"; import * as fs from "ext:deno_fs/30_fs.js";
import { import {
getValidatedFd, getValidatedFd,
showStringCoercionDeprecation,
validateOffsetLengthWrite, validateOffsetLengthWrite,
validateStringAfterArrayBufferView, validateStringAfterArrayBufferView,
} from "ext:deno_node/internal/fs/utils.mjs"; } from "ext:deno_node/internal/fs/utils.mjs";
@ -114,9 +113,6 @@ export function write(fd, buffer, offset, length, position, callback) {
// `fs.write(fd, string[, position[, encoding]], callback)` // `fs.write(fd, string[, position[, encoding]], callback)`
validateStringAfterArrayBufferView(buffer, "buffer"); validateStringAfterArrayBufferView(buffer, "buffer");
if (typeof buffer !== "string") {
showStringCoercionDeprecation();
}
if (typeof position !== "function") { if (typeof position !== "function") {
if (typeof offset === "function") { if (typeof offset === "function") {
@ -128,7 +124,7 @@ export function write(fd, buffer, offset, length, position, callback) {
length = "utf-8"; length = "utf-8";
} }
const str = String(buffer); const str = buffer;
validateEncoding(str, length); validateEncoding(str, length);
callback = maybeCallback(position); callback = maybeCallback(position);
buffer = Buffer.from(str, length); buffer = Buffer.from(str, length);

View file

@ -20,7 +20,6 @@ import {
denoErrorToNodeError, denoErrorToNodeError,
} from "ext:deno_node/internal/errors.ts"; } from "ext:deno_node/internal/errors.ts";
import { import {
showStringCoercionDeprecation,
validateStringAfterArrayBufferView, validateStringAfterArrayBufferView,
} from "ext:deno_node/internal/fs/utils.mjs"; } from "ext:deno_node/internal/fs/utils.mjs";
import { promisify } from "ext:deno_node/internal/util.mjs"; import { promisify } from "ext:deno_node/internal/util.mjs";
@ -32,8 +31,7 @@ interface Writer {
export function writeFile( export function writeFile(
pathOrRid: string | number | URL, pathOrRid: string | number | URL,
// deno-lint-ignore ban-types data: string | Uint8Array,
data: string | Uint8Array | Object,
optOrCallback: Encodings | CallbackWithError | WriteFileOptions | undefined, optOrCallback: Encodings | CallbackWithError | WriteFileOptions | undefined,
callback?: CallbackWithError, callback?: CallbackWithError,
) { ) {
@ -61,10 +59,7 @@ export function writeFile(
if (!ArrayBuffer.isView(data)) { if (!ArrayBuffer.isView(data)) {
validateStringAfterArrayBufferView(data, "data"); validateStringAfterArrayBufferView(data, "data");
if (typeof data !== "string") { data = Buffer.from(data, encoding);
showStringCoercionDeprecation();
}
data = Buffer.from(String(data), encoding);
} }
const isRid = typeof pathOrRid === "number"; const isRid = typeof pathOrRid === "number";
@ -101,15 +96,13 @@ export function writeFile(
export const writeFilePromise = promisify(writeFile) as ( export const writeFilePromise = promisify(writeFile) as (
pathOrRid: string | number | URL, pathOrRid: string | number | URL,
// deno-lint-ignore ban-types data: string | Uint8Array,
data: string | Uint8Array | Object,
options?: Encodings | WriteFileOptions, options?: Encodings | WriteFileOptions,
) => Promise<void>; ) => Promise<void>;
export function writeFileSync( export function writeFileSync(
pathOrRid: string | number | URL, pathOrRid: string | number | URL,
// deno-lint-ignore ban-types data: string | Uint8Array,
data: string | Uint8Array | Object,
options?: Encodings | WriteFileOptions, options?: Encodings | WriteFileOptions,
) { ) {
pathOrRid = pathOrRid instanceof URL ? pathFromURL(pathOrRid) : pathOrRid; pathOrRid = pathOrRid instanceof URL ? pathFromURL(pathOrRid) : pathOrRid;
@ -127,10 +120,7 @@ export function writeFileSync(
if (!ArrayBuffer.isView(data)) { if (!ArrayBuffer.isView(data)) {
validateStringAfterArrayBufferView(data, "data"); validateStringAfterArrayBufferView(data, "data");
if (typeof data !== "string") { data = Buffer.from(data, encoding);
showStringCoercionDeprecation();
}
data = Buffer.from(String(data), encoding);
} }
const isRid = typeof pathOrRid === "number"; const isRid = typeof pathOrRid === "number";

View file

@ -3754,7 +3754,14 @@ var require_writable = __commonJS({
this.destroyed = false; this.destroyed = false;
const noDecode = !!(options && options.decodeStrings === false); const noDecode = !!(options && options.decodeStrings === false);
this.decodeStrings = !noDecode; this.decodeStrings = !noDecode;
this.defaultEncoding = options && options.defaultEncoding || "utf8"; const defaultEncoding = options?.defaultEncoding;
if (defaultEncoding == null) {
this.defaultEncoding = 'utf8';
} else if (Buffer2.isEncoding(defaultEncoding)) {
this.defaultEncoding = defaultEncoding;
} else {
throw new ERR_UNKNOWN_ENCODING(defaultEncoding);
}
this.length = 0; this.length = 0;
this.writing = false; this.writing = false;
this.corked = 0; this.corked = 0;
@ -3845,10 +3852,12 @@ var require_writable = __commonJS({
const state = stream._writableState; const state = stream._writableState;
if (typeof encoding === "function") { if (typeof encoding === "function") {
cb = encoding; cb = encoding;
encoding = state.defaultEncoding; // Simulates https://github.com/nodejs/node/commit/dbed0319ac438dcbd6e92483f3280b1dc6767e00
encoding = state.objectMode ? undefined : state.defaultEncoding;
} else { } else {
if (!encoding) { if (!encoding) {
encoding = state.defaultEncoding; // Simulates https://github.com/nodejs/node/commit/dbed0319ac438dcbd6e92483f3280b1dc6767e00
encoding = state.objectMode ? undefined : state.defaultEncoding;
} else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) { } else if (encoding !== "buffer" && !Buffer2.isEncoding(encoding)) {
throw new ERR_UNKNOWN_ENCODING(encoding); throw new ERR_UNKNOWN_ENCODING(encoding);
} }
@ -4031,7 +4040,7 @@ var require_writable = __commonJS({
} }
while (count-- > 0) { while (count-- > 0) {
state.pendingcb--; state.pendingcb--;
cb(); cb(null);
} }
if (state.destroyed) { if (state.destroyed) {
errorBuffer(state); errorBuffer(state);
@ -4158,8 +4167,10 @@ var require_writable = __commonJS({
err = new ERR_STREAM_DESTROYED("end"); err = new ERR_STREAM_DESTROYED("end");
} }
if (typeof cb === "function") { if (typeof cb === "function") {
if (err || state.finished) { if (err) {
process.nextTick(cb, err); process.nextTick(cb, err);
} else if (state.finished) {
process.nextTick(cb, null);
} else { } else {
state[kOnFinished].push(cb); state[kOnFinished].push(cb);
} }
@ -4246,7 +4257,7 @@ var require_writable = __commonJS({
state.finished = true; state.finished = true;
const onfinishCallbacks = state[kOnFinished].splice(0); const onfinishCallbacks = state[kOnFinished].splice(0);
for (let i = 0; i < onfinishCallbacks.length; i++) { for (let i = 0; i < onfinishCallbacks.length; i++) {
onfinishCallbacks[i](); onfinishCallbacks[i](null);
} }
stream.emit("finish"); stream.emit("finish");
if (state.autoDestroy) { if (state.autoDestroy) {

View file

@ -32,7 +32,7 @@ import {
import { normalizeEncoding } from "ext:deno_node/internal/util.mjs"; import { normalizeEncoding } from "ext:deno_node/internal/util.mjs";
import { validateBuffer } from "ext:deno_node/internal/validators.mjs"; import { validateBuffer } from "ext:deno_node/internal/validators.mjs";
import { isUint8Array } from "ext:deno_node/internal/util/types.ts"; import { isUint8Array } from "ext:deno_node/internal/util/types.ts";
import { ERR_INVALID_STATE } from "ext:deno_node/internal/errors.ts"; import { ERR_INVALID_STATE, NodeError } from "ext:deno_node/internal/errors.ts";
import { import {
forgivingBase64Encode, forgivingBase64Encode,
forgivingBase64UrlEncode, forgivingBase64UrlEncode,
@ -167,10 +167,7 @@ Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);
Object.setPrototypeOf(Buffer, Uint8Array); Object.setPrototypeOf(Buffer, Uint8Array);
function assertSize(size) { function assertSize(size) {
validateNumber(size, "size"); validateNumber(size, "size", 0, kMaxLength);
if (!(size >= 0 && size <= kMaxLength)) {
throw new codes.ERR_INVALID_ARG_VALUE.RangeError("size", size);
}
} }
function _alloc(size, fill, encoding) { function _alloc(size, fill, encoding) {
@ -852,7 +849,14 @@ function _base64Slice(buf, start, end) {
const decoder = new TextDecoder(); const decoder = new TextDecoder();
function _utf8Slice(buf, start, end) { function _utf8Slice(buf, start, end) {
return decoder.decode(buf.slice(start, end)); try {
return decoder.decode(buf.slice(start, end));
} catch (err) {
if (err instanceof TypeError) {
throw new NodeError("ERR_STRING_TOO_LONG", "String too long");
}
throw err;
}
} }
function _latin1Slice(buf, start, end) { function _latin1Slice(buf, start, end) {
@ -2297,10 +2301,23 @@ export function boundsError(value, length, type) {
); );
} }
export function validateNumber(value, name) { export function validateNumber(value, name, min = undefined, max) {
if (typeof value !== "number") { if (typeof value !== "number") {
throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value); throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value);
} }
if (
(min != null && value < min) || (max != null && value > max) ||
((min != null || max != null) && Number.isNaN(value))
) {
throw new codes.ERR_OUT_OF_RANGE(
name,
`${min != null ? `>= ${min}` : ""}${
min != null && max != null ? " && " : ""
}${max != null ? `<= ${max}` : ""}`,
value,
);
}
} }
function checkInt(value, min, max, buf, offset, byteLength) { function checkInt(value, min, max, buf, offset, byteLength) {

View file

@ -27,11 +27,10 @@ const renderRow = (row: string[], columnWidths: number[]) => {
for (let i = 0; i < row.length; i++) { for (let i = 0; i < row.length; i++) {
const cell = row[i]; const cell = row[i];
const len = getStringWidth(cell); const len = getStringWidth(cell);
const needed = (columnWidths[i] - len) / 2; const needed = columnWidths[i] - len;
// round(needed) + ceil(needed) will always add up to the amount // round(needed) + ceil(needed) will always add up to the amount
// of spaces we need while also left justifying the output. // of spaces we need while also left justifying the output.
out += " ".repeat(needed) + cell + out += cell + " ".repeat(Math.ceil(needed));
" ".repeat(Math.ceil(needed));
if (i !== row.length - 1) { if (i !== row.length - 1) {
out += tableChars.middle; out += tableChars.middle;
} }

View file

@ -23,7 +23,6 @@ import {
isUint8Array, isUint8Array,
} from "ext:deno_node/internal/util/types.ts"; } from "ext:deno_node/internal/util/types.ts";
import { once } from "ext:deno_node/internal/util.mjs"; import { once } from "ext:deno_node/internal/util.mjs";
import { deprecate } from "node:util";
import { toPathIfFileURL } from "ext:deno_node/internal/url.ts"; import { toPathIfFileURL } from "ext:deno_node/internal/url.ts";
import { import {
validateAbortSignal, validateAbortSignal,
@ -959,24 +958,13 @@ export const getValidMode = hideStackFrames((mode, type) => {
export const validateStringAfterArrayBufferView = hideStackFrames( export const validateStringAfterArrayBufferView = hideStackFrames(
(buffer, name) => { (buffer, name) => {
if (typeof buffer === "string") { if (typeof buffer !== "string") {
return; throw new ERR_INVALID_ARG_TYPE(
name,
["string", "Buffer", "TypedArray", "DataView"],
buffer,
);
} }
if (
typeof buffer === "object" &&
buffer !== null &&
typeof buffer.toString === "function" &&
Object.prototype.hasOwnProperty.call(buffer, "toString")
) {
return;
}
throw new ERR_INVALID_ARG_TYPE(
name,
["string", "Buffer", "TypedArray", "DataView"],
buffer,
);
}, },
); );
@ -1005,12 +993,6 @@ export const constants = {
kWriteFileMaxChunkSize, kWriteFileMaxChunkSize,
}; };
export const showStringCoercionDeprecation = deprecate(
() => {},
"Implicit coercion of objects with own toString property is deprecated.",
"DEP0162",
);
export default { export default {
constants, constants,
assertEncoding, assertEncoding,
@ -1030,7 +1012,6 @@ export default {
preprocessSymlinkDestination, preprocessSymlinkDestination,
realpathCacheKey, realpathCacheKey,
getStatsFromBinding, getStatsFromBinding,
showStringCoercionDeprecation,
stringToFlags, stringToFlags,
stringToSymlinkType, stringToSymlinkType,
Stats, Stats,

View file

@ -171,10 +171,23 @@ function validateString(value, name) {
* @param {unknown} value * @param {unknown} value
* @param {string} name * @param {string} name
*/ */
function validateNumber(value, name) { function validateNumber(value, name, min = undefined, max) {
if (typeof value !== "number") { if (typeof value !== "number") {
throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value); throw new codes.ERR_INVALID_ARG_TYPE(name, "number", value);
} }
if (
(min != null && value < min) || (max != null && value > max) ||
((min != null || max != null) && Number.isNaN(value))
) {
throw new codes.ERR_OUT_OF_RANGE(
name,
`${min != null ? `>= ${min}` : ""}${
min != null && max != null ? " && " : ""
}${max != null ? `<= ${max}` : ""}`,
value,
);
}
} }
/** /**

View file

@ -106,13 +106,17 @@ export function normalizeString(
return res; return res;
} }
function formatExt(ext) {
return ext ? `${ext[0] === "." ? "" : "."}${ext}` : "";
}
export function _format( export function _format(
sep: string, sep: string,
pathObject: FormatInputPathObject, pathObject: FormatInputPathObject,
): string { ): string {
const dir: string | undefined = pathObject.dir || pathObject.root; const dir: string | undefined = pathObject.dir || pathObject.root;
const base: string = pathObject.base || const base: string = pathObject.base ||
(pathObject.name || "") + (pathObject.ext || ""); (pathObject.name || "") + formatExt(pathObject.ext);
if (!dir) return base; if (!dir) return base;
if (dir === pathObject.root) return dir + base; if (dir === pathObject.root) return dir + base;
return dir + sep + base; return dir + sep + base;

View file

@ -1352,12 +1352,16 @@ function getPathFromURLPosix(url: URL): string {
* setter. * setter.
* - TAB: The tab character is also stripped out by the `pathname` setter. * - TAB: The tab character is also stripped out by the `pathname` setter.
*/ */
function encodePathChars(filepath: string): string { function encodePathChars(
filepath: string,
options: { windows?: boolean },
): string {
const windows = options.windows;
if (filepath.includes("%")) { if (filepath.includes("%")) {
filepath = filepath.replace(percentRegEx, "%25"); filepath = filepath.replace(percentRegEx, "%25");
} }
// In posix, backslash is a valid character in paths: // In posix, backslash is a valid character in paths:
if (!isWindows && filepath.includes("\\")) { if (!(windows ?? isWindows) && filepath.includes("\\")) {
filepath = filepath.replace(backslashRegEx, "%5C"); filepath = filepath.replace(backslashRegEx, "%5C");
} }
if (filepath.includes("\n")) { if (filepath.includes("\n")) {
@ -1376,11 +1380,17 @@ function encodePathChars(filepath: string): string {
* This function ensures that `filepath` is resolved absolutely, and that the URL control characters are correctly encoded when converting into a File URL. * This function ensures that `filepath` is resolved absolutely, and that the URL control characters are correctly encoded when converting into a File URL.
* @see Tested in `parallel/test-url-pathtofileurl.js`. * @see Tested in `parallel/test-url-pathtofileurl.js`.
* @param filepath The file path string to convert to a file URL. * @param filepath The file path string to convert to a file URL.
* @param options The options.
* @returns The file URL object. * @returns The file URL object.
*/ */
export function pathToFileURL(filepath: string): URL { export function pathToFileURL(
filepath: string,
options: { windows?: boolean } = {},
): URL {
validateString(filepath, "path");
const windows = options?.windows;
const outURL = new URL("file://"); const outURL = new URL("file://");
if (isWindows && filepath.startsWith("\\\\")) { if ((windows ?? isWindows) && filepath.startsWith("\\\\")) {
// UNC path format: \\server\share\resource // UNC path format: \\server\share\resource
const paths = filepath.split("\\"); const paths = filepath.split("\\");
if (paths.length <= 3) { if (paths.length <= 3) {
@ -1400,20 +1410,22 @@ export function pathToFileURL(filepath: string): URL {
} }
outURL.hostname = idnaToASCII(hostname); outURL.hostname = idnaToASCII(hostname);
outURL.pathname = encodePathChars(paths.slice(3).join("/")); outURL.pathname = encodePathChars(paths.slice(3).join("/"), { windows });
} else { } else {
let resolved = path.resolve(filepath); let resolved = (windows ?? isWindows)
? path.win32.resolve(filepath)
: path.posix.resolve(filepath);
// path.resolve strips trailing slashes so we must add them back // path.resolve strips trailing slashes so we must add them back
const filePathLast = filepath.charCodeAt(filepath.length - 1); const filePathLast = filepath.charCodeAt(filepath.length - 1);
if ( if (
(filePathLast === CHAR_FORWARD_SLASH || (filePathLast === CHAR_FORWARD_SLASH ||
(isWindows && filePathLast === CHAR_BACKWARD_SLASH)) && ((windows ?? isWindows) && filePathLast === CHAR_BACKWARD_SLASH)) &&
resolved[resolved.length - 1] !== path.sep resolved[resolved.length - 1] !== path.sep
) { ) {
resolved += "/"; resolved += "/";
} }
outURL.pathname = encodePathChars(resolved); outURL.pathname = encodePathChars(resolved, { windows });
} }
return outURL; return outURL;
} }

1
tests/node_compat/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
test/.tmp.*

View file

@ -75,7 +75,6 @@
"test-fs-read-stream.js", "test-fs-read-stream.js",
"test-fs-rmdir-recursive.js", "test-fs-rmdir-recursive.js",
"test-fs-write-file.js", "test-fs-write-file.js",
"test-fs-write.js",
"test-http-url.parse-https.request.js", "test-http-url.parse-https.request.js",
"test-net-better-error-messages-path.js", "test-net-better-error-messages-path.js",
"test-net-connect-buffer.js", "test-net-connect-buffer.js",
@ -94,6 +93,7 @@
"test-stdin-from-file-spawn.js", "test-stdin-from-file-spawn.js",
"test-stream-duplex-from.js", "test-stream-duplex-from.js",
"test-ttywrap-invalid-fd.js", "test-ttywrap-invalid-fd.js",
"test-url-parse-invalid-input.js",
"test-url-urltooptions.js", "test-url-urltooptions.js",
"test-util-format.js", "test-util-format.js",
"test-util-inspect-namespace.js", "test-util-inspect-namespace.js",
@ -482,7 +482,6 @@
"test-stream-backpressure.js", "test-stream-backpressure.js",
"test-stream-big-packet.js", "test-stream-big-packet.js",
"test-stream-big-push.js", "test-stream-big-push.js",
"test-stream-buffer-list.js",
"test-stream-construct.js", "test-stream-construct.js",
"test-stream-destroy-event-order.js", "test-stream-destroy-event-order.js",
"test-stream-duplex-destroy.js", "test-stream-duplex-destroy.js",
@ -603,7 +602,6 @@
"test-stream2-push.js", "test-stream2-push.js",
"test-stream2-read-sync-stack.js", "test-stream2-read-sync-stack.js",
"test-stream2-readable-empty-buffer-no-eof.js", "test-stream2-readable-empty-buffer-no-eof.js",
"test-stream2-readable-from-list.js",
"test-stream2-readable-legacy-drain.js", "test-stream2-readable-legacy-drain.js",
"test-stream2-readable-non-empty-end.js", "test-stream2-readable-non-empty-end.js",
"test-stream2-readable-wrap-destroy.js", "test-stream2-readable-wrap-destroy.js",

View file

@ -13,6 +13,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [abort/test-signal-handler.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-signal-handler.js) - [abort/test-signal-handler.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-signal-handler.js)
- [abort/test-worker-abort-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-worker-abort-uncaught-exception.js) - [abort/test-worker-abort-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-worker-abort-uncaught-exception.js)
- [abort/test-zlib-invalid-internals-usage.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-zlib-invalid-internals-usage.js) - [abort/test-zlib-invalid-internals-usage.js](https://github.com/nodejs/node/tree/v18.12.1/test/abort/test-zlib-invalid-internals-usage.js)
- [benchmark/test-bechmark-readline.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-bechmark-readline.js)
- [benchmark/test-benchmark-assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-assert.js) - [benchmark/test-benchmark-assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-assert.js)
- [benchmark/test-benchmark-async-hooks.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-async-hooks.js) - [benchmark/test-benchmark-async-hooks.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-async-hooks.js)
- [benchmark/test-benchmark-blob.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-blob.js) - [benchmark/test-benchmark-blob.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-blob.js)
@ -29,6 +30,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [benchmark/test-benchmark-fs.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-fs.js) - [benchmark/test-benchmark-fs.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-fs.js)
- [benchmark/test-benchmark-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-http.js) - [benchmark/test-benchmark-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-http.js)
- [benchmark/test-benchmark-http2.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-http2.js) - [benchmark/test-benchmark-http2.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-http2.js)
- [benchmark/test-benchmark-mime.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-mime.js)
- [benchmark/test-benchmark-misc.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-misc.js) - [benchmark/test-benchmark-misc.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-misc.js)
- [benchmark/test-benchmark-module.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-module.js) - [benchmark/test-benchmark-module.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-module.js)
- [benchmark/test-benchmark-napi.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-napi.js) - [benchmark/test-benchmark-napi.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-napi.js)
@ -45,28 +47,35 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [benchmark/test-benchmark-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-url.js) - [benchmark/test-benchmark-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-url.js)
- [benchmark/test-benchmark-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-util.js) - [benchmark/test-benchmark-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-util.js)
- [benchmark/test-benchmark-v8.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-v8.js) - [benchmark/test-benchmark-v8.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-v8.js)
- [benchmark/test-benchmark-validators.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-validators.js)
- [benchmark/test-benchmark-vm.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-vm.js) - [benchmark/test-benchmark-vm.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-vm.js)
- [benchmark/test-benchmark-webstreams.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-webstreams.js) - [benchmark/test-benchmark-webstreams.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-webstreams.js)
- [benchmark/test-benchmark-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-worker.js) - [benchmark/test-benchmark-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-worker.js)
- [benchmark/test-benchmark-zlib.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-zlib.js) - [benchmark/test-benchmark-zlib.js](https://github.com/nodejs/node/tree/v18.12.1/test/benchmark/test-benchmark-zlib.js)
- [es-module/test-cjs-esm-warn.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-esm-warn.js) - [es-module/test-cjs-esm-warn.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-esm-warn.js)
- [es-module/test-cjs-legacyMainResolve-permission.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-legacyMainResolve-permission.js)
- [es-module/test-cjs-legacyMainResolve.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-legacyMainResolve.js)
- [es-module/test-cjs-prototype-pollution.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-prototype-pollution.js) - [es-module/test-cjs-prototype-pollution.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-cjs-prototype-pollution.js)
- [es-module/test-dynamic-import-script-lifetime.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-dynamic-import-script-lifetime.js)
- [es-module/test-esm-assertionless-json-import.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-assertionless-json-import.js) - [es-module/test-esm-assertionless-json-import.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-assertionless-json-import.js)
- [es-module/test-esm-cjs-builtins.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-cjs-builtins.js) - [es-module/test-esm-cjs-builtins.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-cjs-builtins.js)
- [es-module/test-esm-cjs-exports.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-cjs-exports.js) - [es-module/test-esm-cjs-exports.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-cjs-exports.js)
- [es-module/test-esm-cjs-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-cjs-main.js) - [es-module/test-esm-cjs-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-cjs-main.js)
- [es-module/test-esm-data-urls.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-data-urls.js) - [es-module/test-esm-data-urls.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-data-urls.js)
- [es-module/test-esm-dynamic-import-assertion.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-dynamic-import-assertion.js) - [es-module/test-esm-dynamic-import-attribute.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-dynamic-import-attribute.js)
- [es-module/test-esm-dynamic-import-commonjs.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-dynamic-import-commonjs.js)
- [es-module/test-esm-dynamic-import-mutating-fs.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-dynamic-import-mutating-fs.js)
- [es-module/test-esm-dynamic-import.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-dynamic-import.js) - [es-module/test-esm-dynamic-import.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-dynamic-import.js)
- [es-module/test-esm-encoded-path-native.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-encoded-path-native.js) - [es-module/test-esm-encoded-path-native.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-encoded-path-native.js)
- [es-module/test-esm-error-cache.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-error-cache.js) - [es-module/test-esm-error-cache.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-error-cache.js)
- [es-module/test-esm-import-assertion-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-import-assertion-errors.js) - [es-module/test-esm-import-attributes-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-import-attributes-errors.js)
- [es-module/test-esm-import-assertion-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-import-assertion-validation.js) - [es-module/test-esm-import-attributes-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-import-attributes-validation.js)
- [es-module/test-esm-invalid-data-urls.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-invalid-data-urls.js) - [es-module/test-esm-invalid-data-urls.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-invalid-data-urls.js)
- [es-module/test-esm-invalid-pjson.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-invalid-pjson.js) - [es-module/test-esm-invalid-pjson.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-invalid-pjson.js)
- [es-module/test-esm-loader-cache-clearing.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-loader-cache-clearing.js) - [es-module/test-esm-loader-cache-clearing.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-loader-cache-clearing.js)
- [es-module/test-esm-loader-modulemap.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-loader-modulemap.js) - [es-module/test-esm-loader-modulemap.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-loader-modulemap.js)
- [es-module/test-esm-loader-search.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-loader-search.js) - [es-module/test-esm-loader-search.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-loader-search.js)
- [es-module/test-esm-named-exports.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-named-exports.js)
- [es-module/test-esm-preserve-symlinks-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-preserve-symlinks-main.js) - [es-module/test-esm-preserve-symlinks-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-preserve-symlinks-main.js)
- [es-module/test-esm-preserve-symlinks.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-preserve-symlinks.js) - [es-module/test-esm-preserve-symlinks.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-preserve-symlinks.js)
- [es-module/test-esm-repl-imports.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-repl-imports.js) - [es-module/test-esm-repl-imports.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-repl-imports.js)
@ -74,11 +83,20 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [es-module/test-esm-symlink-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-symlink-main.js) - [es-module/test-esm-symlink-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-symlink-main.js)
- [es-module/test-esm-symlink-type.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-symlink-type.js) - [es-module/test-esm-symlink-type.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-symlink-type.js)
- [es-module/test-esm-symlink.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-symlink.js) - [es-module/test-esm-symlink.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-symlink.js)
- [es-module/test-esm-type-flag-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-type-flag-errors.js) - [es-module/test-esm-type-field-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-type-field-errors.js)
- [es-module/test-esm-undefined-cjs-global-like-variables.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-undefined-cjs-global-like-variables.js) - [es-module/test-esm-undefined-cjs-global-like-variables.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-undefined-cjs-global-like-variables.js)
- [es-module/test-esm-unknown-or-no-extension.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-unknown-or-no-extension.js) - [es-module/test-esm-unknown-extension.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-unknown-extension.js)
- [es-module/test-esm-url-extname.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-url-extname.js)
- [es-module/test-esm-windows.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-windows.js) - [es-module/test-esm-windows.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-esm-windows.js)
- [es-module/test-loaders-hidden-from-users.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-loaders-hidden-from-users.js) - [es-module/test-loaders-hidden-from-users.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-loaders-hidden-from-users.js)
- [es-module/test-vm-compile-function-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-vm-compile-function-leak.js)
- [es-module/test-vm-compile-function-lineoffset.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-vm-compile-function-lineoffset.js)
- [es-module/test-vm-contextified-script-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-vm-contextified-script-leak.js)
- [es-module/test-vm-source-text-module-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-vm-source-text-module-leak.js)
- [es-module/test-vm-synthetic-module-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-vm-synthetic-module-leak.js)
- [es-module/test-wasm-memory-out-of-bound.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-wasm-memory-out-of-bound.js)
- [es-module/test-wasm-simple.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-wasm-simple.js)
- [es-module/test-wasm-web-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/es-module/test-wasm-web-api.js)
- [internet/test-corepack-yarn-install.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-corepack-yarn-install.js) - [internet/test-corepack-yarn-install.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-corepack-yarn-install.js)
- [internet/test-dgram-broadcast-multi-process.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dgram-broadcast-multi-process.js) - [internet/test-dgram-broadcast-multi-process.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dgram-broadcast-multi-process.js)
- [internet/test-dgram-connect.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dgram-connect.js) - [internet/test-dgram-connect.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-dgram-connect.js)
@ -95,22 +113,24 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [internet/test-https-autoselectfamily-slow-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-https-autoselectfamily-slow-timeout.js) - [internet/test-https-autoselectfamily-slow-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-https-autoselectfamily-slow-timeout.js)
- [internet/test-https-issue-43963.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-https-issue-43963.js) - [internet/test-https-issue-43963.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-https-issue-43963.js)
- [internet/test-inspector-help-page.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-inspector-help-page.js) - [internet/test-inspector-help-page.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-inspector-help-page.js)
- [internet/test-net-autoselectfamily-timeout-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-net-autoselectfamily-timeout-close.js)
- [internet/test-net-connect-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-net-connect-timeout.js) - [internet/test-net-connect-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-net-connect-timeout.js)
- [internet/test-net-connect-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-net-connect-unref.js) - [internet/test-net-connect-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-net-connect-unref.js)
- [internet/test-snapshot-dns-lookup.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-snapshot-dns-lookup.js) - [internet/test-snapshot-dns-lookup.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-snapshot-dns-lookup.js)
- [internet/test-snapshot-dns-resolve.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-snapshot-dns-resolve.js) - [internet/test-snapshot-dns-resolve.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-snapshot-dns-resolve.js)
- [internet/test-tls-add-ca-cert.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-tls-add-ca-cert.js) - [internet/test-tls-add-ca-cert.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-tls-add-ca-cert.js)
- [internet/test-tls-autoselectfamily-backing-socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-tls-autoselectfamily-backing-socket.js)
- [internet/test-tls-autoselectfamily-servername.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-tls-autoselectfamily-servername.js) - [internet/test-tls-autoselectfamily-servername.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-tls-autoselectfamily-servername.js)
- [internet/test-trace-events-dns.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-trace-events-dns.js) - [internet/test-trace-events-dns.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-trace-events-dns.js)
- [internet/test-uv-threadpool-schedule.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-uv-threadpool-schedule.js) - [internet/test-uv-threadpool-schedule.js](https://github.com/nodejs/node/tree/v18.12.1/test/internet/test-uv-threadpool-schedule.js)
- [known_issues/test-cli-print-var-crypto.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-cli-print-var-crypto.js)
- [known_issues/test-cwd-enoent-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-cwd-enoent-file.js) - [known_issues/test-cwd-enoent-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-cwd-enoent-file.js)
- [known_issues/test-dgram-bind-shared-ports-after-port-0.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-dgram-bind-shared-ports-after-port-0.js) - [known_issues/test-dgram-bind-shared-ports-after-port-0.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-dgram-bind-shared-ports-after-port-0.js)
- [known_issues/test-fs-writeFileSync-invalid-windows.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-fs-writeFileSync-invalid-windows.js) - [known_issues/test-fs-writeFileSync-invalid-windows.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-fs-writeFileSync-invalid-windows.js)
- [known_issues/test-http-path-contains-unicode.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-http-path-contains-unicode.js) - [known_issues/test-http-path-contains-unicode.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-http-path-contains-unicode.js)
- [known_issues/test-http2-trailers-after-session-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-http2-trailers-after-session-close.js)
- [known_issues/test-inspector-cluster-port-clash.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-inspector-cluster-port-clash.js) - [known_issues/test-inspector-cluster-port-clash.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-inspector-cluster-port-clash.js)
- [known_issues/test-permission-model-path-resolution.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-permission-model-path-resolution.js)
- [known_issues/test-repl-require-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-repl-require-context.js) - [known_issues/test-repl-require-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-repl-require-context.js)
- [known_issues/test-shadow-realm-gc.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-shadow-realm-gc.js)
- [known_issues/test-stdin-is-always-net.socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-stdin-is-always-net.socket.js) - [known_issues/test-stdin-is-always-net.socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-stdin-is-always-net.socket.js)
- [known_issues/test-stream-writable-sync-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-stream-writable-sync-error.js) - [known_issues/test-stream-writable-sync-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-stream-writable-sync-error.js)
- [known_issues/test-url-parse-conformance.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-url-parse-conformance.js) - [known_issues/test-url-parse-conformance.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-url-parse-conformance.js)
@ -121,31 +141,14 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [known_issues/test-vm-timeout-escape-nexttick.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-vm-timeout-escape-nexttick.js) - [known_issues/test-vm-timeout-escape-nexttick.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-vm-timeout-escape-nexttick.js)
- [known_issues/test-vm-timeout-escape-queuemicrotask.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-vm-timeout-escape-queuemicrotask.js) - [known_issues/test-vm-timeout-escape-queuemicrotask.js](https://github.com/nodejs/node/tree/v18.12.1/test/known_issues/test-vm-timeout-escape-queuemicrotask.js)
- [message/assert_throws_stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/assert_throws_stack.js) - [message/assert_throws_stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/assert_throws_stack.js)
- [message/core_line_numbers.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/core_line_numbers.js)
- [message/eval_messages.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/eval_messages.js) - [message/eval_messages.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/eval_messages.js)
- [message/if-error-has-good-stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/if-error-has-good-stack.js)
- [message/internal_assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/internal_assert.js) - [message/internal_assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/internal_assert.js)
- [message/internal_assert_fail.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/internal_assert_fail.js) - [message/internal_assert_fail.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/internal_assert_fail.js)
- [message/max_tick_depth.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/max_tick_depth.js) - [message/max_tick_depth.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/max_tick_depth.js)
- [message/nexttick_throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/nexttick_throw.js) - [message/nexttick_throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/nexttick_throw.js)
- [message/promise_unhandled_warn_with_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/promise_unhandled_warn_with_error.js)
- [message/source_map_enclosing_function.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_enclosing_function.js)
- [message/source_map_reference_error_tabs.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_reference_error_tabs.js)
- [message/source_map_sourcemapping_url_string.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_sourcemapping_url_string.js)
- [message/source_map_throw_catch.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_throw_catch.js)
- [message/source_map_throw_icu.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_throw_icu.js)
- [message/source_map_throw_set_immediate.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/source_map_throw_set_immediate.js)
- [message/stdin_messages.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/stdin_messages.js) - [message/stdin_messages.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/stdin_messages.js)
- [message/test-no-extra-info-on-fatal-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/test-no-extra-info-on-fatal-exception.js)
- [message/throw_error_with_getter_throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_error_with_getter_throw.js)
- [message/throw_null.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_null.js)
- [message/throw_undefined.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/throw_undefined.js)
- [message/timeout_throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/timeout_throw.js)
- [message/undefined_reference_in_new_context.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/undefined_reference_in_new_context.js)
- [message/unhandled_promise_trace_warnings.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/unhandled_promise_trace_warnings.js)
- [message/util-inspect-error-cause.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/util-inspect-error-cause.js) - [message/util-inspect-error-cause.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/util-inspect-error-cause.js)
- [message/util_inspect_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/util_inspect_error.js) - [message/util_inspect_error.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/util_inspect_error.js)
- [message/v8_warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/message/v8_warning.js)
- [parallel/test-abortcontroller.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-abortcontroller.js) - [parallel/test-abortcontroller.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-abortcontroller.js)
- [parallel/test-aborted-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-aborted-util.js) - [parallel/test-aborted-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-aborted-util.js)
- [parallel/test-abortsignal-cloneable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-abortsignal-cloneable.js) - [parallel/test-abortsignal-cloneable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-abortsignal-cloneable.js)
@ -158,6 +161,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-assert-calltracker-verify.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-calltracker-verify.js) - [parallel/test-assert-calltracker-verify.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-calltracker-verify.js)
- [parallel/test-assert-checktag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-checktag.js) - [parallel/test-assert-checktag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-checktag.js)
- [parallel/test-assert-deep.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-deep.js) - [parallel/test-assert-deep.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-deep.js)
- [parallel/test-assert-esm-cjs-message-verify.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-esm-cjs-message-verify.js)
- [parallel/test-assert-fail-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-fail-deprecation.js) - [parallel/test-assert-fail-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-fail-deprecation.js)
- [parallel/test-assert-first-line.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-first-line.js) - [parallel/test-assert-first-line.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-first-line.js)
- [parallel/test-assert-if-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-if-error.js) - [parallel/test-assert-if-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-assert-if-error.js)
@ -215,6 +219,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-binding-constants.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-binding-constants.js) - [parallel/test-binding-constants.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-binding-constants.js)
- [parallel/test-blob-buffer-too-large.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blob-buffer-too-large.js) - [parallel/test-blob-buffer-too-large.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blob-buffer-too-large.js)
- [parallel/test-blob-createobjecturl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blob-createobjecturl.js) - [parallel/test-blob-createobjecturl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blob-createobjecturl.js)
- [parallel/test-blob-file-backed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blob-file-backed.js)
- [parallel/test-blob.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blob.js) - [parallel/test-blob.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blob.js)
- [parallel/test-blocklist-clone.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blocklist-clone.js) - [parallel/test-blocklist-clone.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blocklist-clone.js)
- [parallel/test-blocklist.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blocklist.js) - [parallel/test-blocklist.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-blocklist.js)
@ -230,6 +235,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-buffer-pending-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-pending-deprecation.js) - [parallel/test-buffer-pending-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-pending-deprecation.js)
- [parallel/test-buffer-pool-untransferable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-pool-untransferable.js) - [parallel/test-buffer-pool-untransferable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-pool-untransferable.js)
- [parallel/test-buffer-prototype-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-prototype-inspect.js) - [parallel/test-buffer-prototype-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-prototype-inspect.js)
- [parallel/test-buffer-set-inspect-max-bytes.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-set-inspect-max-bytes.js)
- [parallel/test-buffer-sharedarraybuffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-sharedarraybuffer.js) - [parallel/test-buffer-sharedarraybuffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-sharedarraybuffer.js)
- [parallel/test-buffer-write.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-write.js) - [parallel/test-buffer-write.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-buffer-write.js)
- [parallel/test-c-ares.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-c-ares.js) - [parallel/test-c-ares.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-c-ares.js)
@ -323,6 +329,8 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-cli-node-print-help.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-node-print-help.js) - [parallel/test-cli-node-print-help.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-node-print-help.js)
- [parallel/test-cli-options-negation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-options-negation.js) - [parallel/test-cli-options-negation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-options-negation.js)
- [parallel/test-cli-options-precedence.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-options-precedence.js) - [parallel/test-cli-options-precedence.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-options-precedence.js)
- [parallel/test-cli-permission-deny-fs.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-permission-deny-fs.js)
- [parallel/test-cli-permission-multiple-allow.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-permission-multiple-allow.js)
- [parallel/test-cli-syntax-eval.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-syntax-eval.js) - [parallel/test-cli-syntax-eval.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-syntax-eval.js)
- [parallel/test-cli-syntax-piped-bad.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-syntax-piped-bad.js) - [parallel/test-cli-syntax-piped-bad.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-syntax-piped-bad.js)
- [parallel/test-cli-syntax-piped-good.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-syntax-piped-good.js) - [parallel/test-cli-syntax-piped-good.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-cli-syntax-piped-good.js)
@ -432,7 +440,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-crypto-async-sign-verify.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-async-sign-verify.js) - [parallel/test-crypto-async-sign-verify.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-async-sign-verify.js)
- [parallel/test-crypto-authenticated-stream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-authenticated-stream.js) - [parallel/test-crypto-authenticated-stream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-authenticated-stream.js)
- [parallel/test-crypto-authenticated.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-authenticated.js) - [parallel/test-crypto-authenticated.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-authenticated.js)
- [parallel/test-crypto-binary-default.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-binary-default.js)
- [parallel/test-crypto-certificate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-certificate.js) - [parallel/test-crypto-certificate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-certificate.js)
- [parallel/test-crypto-cipher-decipher.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-cipher-decipher.js) - [parallel/test-crypto-cipher-decipher.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-cipher-decipher.js)
- [parallel/test-crypto-cipheriv-decipheriv.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-cipheriv-decipheriv.js) - [parallel/test-crypto-cipheriv-decipheriv.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-cipheriv-decipheriv.js)
@ -440,6 +447,9 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-crypto-des3-wrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-des3-wrap.js) - [parallel/test-crypto-des3-wrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-des3-wrap.js)
- [parallel/test-crypto-dh-constructor.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-constructor.js) - [parallel/test-crypto-dh-constructor.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-constructor.js)
- [parallel/test-crypto-dh-curves.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-curves.js) - [parallel/test-crypto-dh-curves.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-curves.js)
- [parallel/test-crypto-dh-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-errors.js)
- [parallel/test-crypto-dh-generate-keys.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-generate-keys.js)
- [parallel/test-crypto-dh-group-setters.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-group-setters.js)
- [parallel/test-crypto-dh-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-leak.js) - [parallel/test-crypto-dh-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-leak.js)
- [parallel/test-crypto-dh-modp2-views.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-modp2-views.js) - [parallel/test-crypto-dh-modp2-views.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-modp2-views.js)
- [parallel/test-crypto-dh-modp2.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-modp2.js) - [parallel/test-crypto-dh-modp2.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-dh-modp2.js)
@ -458,10 +468,41 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-crypto-hash.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-hash.js) - [parallel/test-crypto-hash.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-hash.js)
- [parallel/test-crypto-key-objects-messageport.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-key-objects-messageport.js) - [parallel/test-crypto-key-objects-messageport.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-key-objects-messageport.js)
- [parallel/test-crypto-key-objects.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-key-objects.js) - [parallel/test-crypto-key-objects.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-key-objects.js)
- [parallel/test-crypto-keygen-async-dsa-key-object.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-dsa-key-object.js)
- [parallel/test-crypto-keygen-async-dsa.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-dsa.js)
- [parallel/test-crypto-keygen-async-elliptic-curve-jwk-ec.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-elliptic-curve-jwk-ec.js)
- [parallel/test-crypto-keygen-async-elliptic-curve-jwk-rsa.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-elliptic-curve-jwk-rsa.js)
- [parallel/test-crypto-keygen-async-elliptic-curve-jwk.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-elliptic-curve-jwk.js)
- [parallel/test-crypto-keygen-async-encrypted-private-key-der.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-encrypted-private-key-der.js)
- [parallel/test-crypto-keygen-async-encrypted-private-key.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-encrypted-private-key.js)
- [parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted-p256.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted-p256.js)
- [parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js)
- [parallel/test-crypto-keygen-async-explicit-elliptic-curve.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve.js)
- [parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js)
- [parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted.js)
- [parallel/test-crypto-keygen-async-named-elliptic-curve.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-named-elliptic-curve.js)
- [parallel/test-crypto-keygen-async-rsa.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-async-rsa.js)
- [parallel/test-crypto-keygen-bit-length.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-bit-length.js)
- [parallel/test-crypto-keygen-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-deprecation.js) - [parallel/test-crypto-keygen-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-deprecation.js)
- [parallel/test-crypto-keygen-dh-classic.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-dh-classic.js)
- [parallel/test-crypto-keygen-duplicate-deprecated-option.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-duplicate-deprecated-option.js)
- [parallel/test-crypto-keygen-eddsa.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-eddsa.js)
- [parallel/test-crypto-keygen-empty-passphrase-no-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-empty-passphrase-no-error.js)
- [parallel/test-crypto-keygen-empty-passphrase-no-prompt.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-empty-passphrase-no-prompt.js)
- [parallel/test-crypto-keygen-invalid-parameter-encoding-dsa.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-invalid-parameter-encoding-dsa.js)
- [parallel/test-crypto-keygen-invalid-parameter-encoding-ec.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-invalid-parameter-encoding-ec.js)
- [parallel/test-crypto-keygen-key-object-without-encoding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-key-object-without-encoding.js)
- [parallel/test-crypto-keygen-key-objects.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-key-objects.js)
- [parallel/test-crypto-keygen-missing-oid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-missing-oid.js)
- [parallel/test-crypto-keygen-no-rsassa-pss-params.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-no-rsassa-pss-params.js)
- [parallel/test-crypto-keygen-non-standard-public-exponent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-non-standard-public-exponent.js)
- [parallel/test-crypto-keygen-promisify.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-promisify.js)
- [parallel/test-crypto-keygen-rfc8017-9-1.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-rfc8017-9-1.js)
- [parallel/test-crypto-keygen-rfc8017-a-2-3.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-rfc8017-a-2-3.js)
- [parallel/test-crypto-keygen-rsa-pss.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-rsa-pss.js)
- [parallel/test-crypto-keygen-sync.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen-sync.js)
- [parallel/test-crypto-keygen.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen.js) - [parallel/test-crypto-keygen.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-keygen.js)
- [parallel/test-crypto-lazy-transform-writable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-lazy-transform-writable.js) - [parallel/test-crypto-lazy-transform-writable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-lazy-transform-writable.js)
- [parallel/test-crypto-modp1-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-modp1-error.js)
- [parallel/test-crypto-no-algorithm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-no-algorithm.js) - [parallel/test-crypto-no-algorithm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-no-algorithm.js)
- [parallel/test-crypto-op-during-process-exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-op-during-process-exit.js) - [parallel/test-crypto-op-during-process-exit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-op-during-process-exit.js)
- [parallel/test-crypto-padding-aes256.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-padding-aes256.js) - [parallel/test-crypto-padding-aes256.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-padding-aes256.js)
@ -473,6 +514,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-crypto-random.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-random.js) - [parallel/test-crypto-random.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-random.js)
- [parallel/test-crypto-randomfillsync-regression.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-randomfillsync-regression.js) - [parallel/test-crypto-randomfillsync-regression.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-randomfillsync-regression.js)
- [parallel/test-crypto-randomuuid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-randomuuid.js) - [parallel/test-crypto-randomuuid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-randomuuid.js)
- [parallel/test-crypto-rsa-dsa-revert.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-rsa-dsa-revert.js)
- [parallel/test-crypto-rsa-dsa.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-rsa-dsa.js) - [parallel/test-crypto-rsa-dsa.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-rsa-dsa.js)
- [parallel/test-crypto-scrypt.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-scrypt.js) - [parallel/test-crypto-scrypt.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-scrypt.js)
- [parallel/test-crypto-secure-heap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-secure-heap.js) - [parallel/test-crypto-secure-heap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-crypto-secure-heap.js)
@ -582,11 +624,23 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-dgram-udp6-send-default-host.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-udp6-send-default-host.js) - [parallel/test-dgram-udp6-send-default-host.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-udp6-send-default-host.js)
- [parallel/test-dgram-unref-in-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-unref-in-cluster.js) - [parallel/test-dgram-unref-in-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-unref-in-cluster.js)
- [parallel/test-dgram-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-unref.js) - [parallel/test-dgram-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dgram-unref.js)
- [parallel/test-diagnostics-channel-bind-store.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-bind-store.js)
- [parallel/test-diagnostics-channel-http-server-start.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-http-server-start.js) - [parallel/test-diagnostics-channel-http-server-start.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-http-server-start.js)
- [parallel/test-diagnostics-channel-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-http.js) - [parallel/test-diagnostics-channel-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-http.js)
- [parallel/test-diagnostics-channel-memory-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-memory-leak.js) - [parallel/test-diagnostics-channel-memory-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-memory-leak.js)
- [parallel/test-diagnostics-channel-net.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-net.js) - [parallel/test-diagnostics-channel-net.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-net.js)
- [parallel/test-diagnostics-channel-process.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-process.js)
- [parallel/test-diagnostics-channel-safe-subscriber-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-safe-subscriber-errors.js) - [parallel/test-diagnostics-channel-safe-subscriber-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-safe-subscriber-errors.js)
- [parallel/test-diagnostics-channel-sync-unsubscribe.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-sync-unsubscribe.js)
- [parallel/test-diagnostics-channel-tracing-channel-args-types.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-tracing-channel-args-types.js)
- [parallel/test-diagnostics-channel-tracing-channel-async-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-tracing-channel-async-error.js)
- [parallel/test-diagnostics-channel-tracing-channel-async.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-tracing-channel-async.js)
- [parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js)
- [parallel/test-diagnostics-channel-tracing-channel-promise-run-stores.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-tracing-channel-promise-run-stores.js)
- [parallel/test-diagnostics-channel-tracing-channel-run-stores.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-tracing-channel-run-stores.js)
- [parallel/test-diagnostics-channel-tracing-channel-sync-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-tracing-channel-sync-error.js)
- [parallel/test-diagnostics-channel-tracing-channel-sync.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-tracing-channel-sync.js)
- [parallel/test-diagnostics-channel-worker-threads.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-diagnostics-channel-worker-threads.js)
- [parallel/test-directory-import.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-directory-import.js) - [parallel/test-directory-import.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-directory-import.js)
- [parallel/test-disable-proto-delete.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-disable-proto-delete.js) - [parallel/test-disable-proto-delete.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-disable-proto-delete.js)
- [parallel/test-disable-proto-throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-disable-proto-throw.js) - [parallel/test-disable-proto-throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-disable-proto-throw.js)
@ -661,6 +715,9 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-domain-vm-promise-isolation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domain-vm-promise-isolation.js) - [parallel/test-domain-vm-promise-isolation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domain-vm-promise-isolation.js)
- [parallel/test-domain-with-abort-on-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domain-with-abort-on-uncaught-exception.js) - [parallel/test-domain-with-abort-on-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domain-with-abort-on-uncaught-exception.js)
- [parallel/test-domexception-cause.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domexception-cause.js) - [parallel/test-domexception-cause.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-domexception-cause.js)
- [parallel/test-dotenv-edge-cases.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dotenv-edge-cases.js)
- [parallel/test-dotenv-node-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dotenv-node-options.js)
- [parallel/test-dotenv.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dotenv.js)
- [parallel/test-double-tls-client.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-double-tls-client.js) - [parallel/test-double-tls-client.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-double-tls-client.js)
- [parallel/test-double-tls-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-double-tls-server.js) - [parallel/test-double-tls-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-double-tls-server.js)
- [parallel/test-dsa-fips-invalid-key.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dsa-fips-invalid-key.js) - [parallel/test-dsa-fips-invalid-key.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-dsa-fips-invalid-key.js)
@ -700,6 +757,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-eslint-prefer-common-mustnotcall.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-common-mustnotcall.js) - [parallel/test-eslint-prefer-common-mustnotcall.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-common-mustnotcall.js)
- [parallel/test-eslint-prefer-common-mustsucceed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-common-mustsucceed.js) - [parallel/test-eslint-prefer-common-mustsucceed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-common-mustsucceed.js)
- [parallel/test-eslint-prefer-primordials.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-primordials.js) - [parallel/test-eslint-prefer-primordials.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-primordials.js)
- [parallel/test-eslint-prefer-proto.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-proto.js)
- [parallel/test-eslint-prefer-util-format-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-util-format-errors.js) - [parallel/test-eslint-prefer-util-format-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-prefer-util-format-errors.js)
- [parallel/test-eslint-require-common-first.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-require-common-first.js) - [parallel/test-eslint-require-common-first.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-require-common-first.js)
- [parallel/test-eslint-required-modules.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-required-modules.js) - [parallel/test-eslint-required-modules.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eslint-required-modules.js)
@ -709,6 +767,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-event-emitter-max-listeners-warning-for-null.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-event-emitter-max-listeners-warning-for-null.js) - [parallel/test-event-emitter-max-listeners-warning-for-null.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-event-emitter-max-listeners-warning-for-null.js)
- [parallel/test-event-emitter-max-listeners-warning-for-symbol.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-event-emitter-max-listeners-warning-for-symbol.js) - [parallel/test-event-emitter-max-listeners-warning-for-symbol.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-event-emitter-max-listeners-warning-for-symbol.js)
- [parallel/test-event-emitter-max-listeners-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-event-emitter-max-listeners-warning.js) - [parallel/test-event-emitter-max-listeners-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-event-emitter-max-listeners-warning.js)
- [parallel/test-event-target.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-event-target.js)
- [parallel/test-eventemitter-asyncresource.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventemitter-asyncresource.js) - [parallel/test-eventemitter-asyncresource.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventemitter-asyncresource.js)
- [parallel/test-events-customevent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-events-customevent.js) - [parallel/test-events-customevent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-events-customevent.js)
- [parallel/test-events-getmaxlisteners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-events-getmaxlisteners.js) - [parallel/test-events-getmaxlisteners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-events-getmaxlisteners.js)
@ -717,6 +776,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-eventtarget-memoryleakwarning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget-memoryleakwarning.js) - [parallel/test-eventtarget-memoryleakwarning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget-memoryleakwarning.js)
- [parallel/test-eventtarget-once-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget-once-twice.js) - [parallel/test-eventtarget-once-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget-once-twice.js)
- [parallel/test-eventtarget.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget.js) - [parallel/test-eventtarget.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-eventtarget.js)
- [parallel/test-experimental-shared-value-conveyor.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-experimental-shared-value-conveyor.js)
- [parallel/test-file-validate-mode-flag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-file-validate-mode-flag.js) - [parallel/test-file-validate-mode-flag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-file-validate-mode-flag.js)
- [parallel/test-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-file.js) - [parallel/test-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-file.js)
- [parallel/test-filehandle-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-filehandle-close.js) - [parallel/test-filehandle-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-filehandle-close.js)
@ -726,6 +786,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-force-repl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-force-repl.js) - [parallel/test-force-repl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-force-repl.js)
- [parallel/test-freelist.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-freelist.js) - [parallel/test-freelist.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-freelist.js)
- [parallel/test-freeze-intrinsics.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-freeze-intrinsics.js) - [parallel/test-freeze-intrinsics.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-freeze-intrinsics.js)
- [parallel/test-fs-append-file-flush.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-append-file-flush.js)
- [parallel/test-fs-assert-encoding-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-assert-encoding-error.js) - [parallel/test-fs-assert-encoding-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-assert-encoding-error.js)
- [parallel/test-fs-buffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-buffer.js) - [parallel/test-fs-buffer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-buffer.js)
- [parallel/test-fs-buffertype-writesync.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-buffertype-writesync.js) - [parallel/test-fs-buffertype-writesync.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-buffertype-writesync.js)
@ -853,7 +914,17 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-fs-watch-encoding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-encoding.js) - [parallel/test-fs-watch-encoding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-encoding.js)
- [parallel/test-fs-watch-enoent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-enoent.js) - [parallel/test-fs-watch-enoent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-enoent.js)
- [parallel/test-fs-watch-file-enoent-after-deletion.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-file-enoent-after-deletion.js) - [parallel/test-fs-watch-file-enoent-after-deletion.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-file-enoent-after-deletion.js)
- [parallel/test-fs-watch-recursive.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive.js) - [parallel/test-fs-watch-recursive-add-file-to-existing-subfolder.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-add-file-to-existing-subfolder.js)
- [parallel/test-fs-watch-recursive-add-file-to-new-folder.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-add-file-to-new-folder.js)
- [parallel/test-fs-watch-recursive-add-file-with-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-add-file-with-url.js)
- [parallel/test-fs-watch-recursive-add-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-add-file.js)
- [parallel/test-fs-watch-recursive-add-folder.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-add-folder.js)
- [parallel/test-fs-watch-recursive-assert-leaks.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-assert-leaks.js)
- [parallel/test-fs-watch-recursive-promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-promise.js)
- [parallel/test-fs-watch-recursive-symlink.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-symlink.js)
- [parallel/test-fs-watch-recursive-update-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-update-file.js)
- [parallel/test-fs-watch-recursive-validate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-validate.js)
- [parallel/test-fs-watch-recursive-watch-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-recursive-watch-file.js)
- [parallel/test-fs-watch-ref-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-ref-unref.js) - [parallel/test-fs-watch-ref-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-ref-unref.js)
- [parallel/test-fs-watch-stop-async.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-stop-async.js) - [parallel/test-fs-watch-stop-async.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-stop-async.js)
- [parallel/test-fs-watch-stop-sync.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-stop-sync.js) - [parallel/test-fs-watch-stop-sync.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watch-stop-sync.js)
@ -862,6 +933,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-fs-watchfile-ref-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watchfile-ref-unref.js) - [parallel/test-fs-watchfile-ref-unref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-watchfile-ref-unref.js)
- [parallel/test-fs-whatwg-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-whatwg-url.js) - [parallel/test-fs-whatwg-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-whatwg-url.js)
- [parallel/test-fs-write-buffer-large.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-buffer-large.js) - [parallel/test-fs-write-buffer-large.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-buffer-large.js)
- [parallel/test-fs-write-file-flush.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-file-flush.js)
- [parallel/test-fs-write-file-typedarrays.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-file-typedarrays.js) - [parallel/test-fs-write-file-typedarrays.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-file-typedarrays.js)
- [parallel/test-fs-write-negativeoffset.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-negativeoffset.js) - [parallel/test-fs-write-negativeoffset.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-negativeoffset.js)
- [parallel/test-fs-write-optional-params.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-optional-params.js) - [parallel/test-fs-write-optional-params.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-optional-params.js)
@ -872,6 +944,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-fs-write-stream-err.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-err.js) - [parallel/test-fs-write-stream-err.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-err.js)
- [parallel/test-fs-write-stream-file-handle-2.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-file-handle-2.js) - [parallel/test-fs-write-stream-file-handle-2.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-file-handle-2.js)
- [parallel/test-fs-write-stream-file-handle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-file-handle.js) - [parallel/test-fs-write-stream-file-handle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-file-handle.js)
- [parallel/test-fs-write-stream-flush.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-flush.js)
- [parallel/test-fs-write-stream-patch-open.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-patch-open.js) - [parallel/test-fs-write-stream-patch-open.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-stream-patch-open.js)
- [parallel/test-fs-write-sync-optional-params.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-sync-optional-params.js) - [parallel/test-fs-write-sync-optional-params.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-write-sync-optional-params.js)
- [parallel/test-fs-writefile-with-fd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-writefile-with-fd.js) - [parallel/test-fs-writefile-with-fd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-fs-writefile-with-fd.js)
@ -881,11 +954,13 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-gc-net-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-gc-net-timeout.js) - [parallel/test-gc-net-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-gc-net-timeout.js)
- [parallel/test-gc-tls-external-memory.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-gc-tls-external-memory.js) - [parallel/test-gc-tls-external-memory.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-gc-tls-external-memory.js)
- [parallel/test-global-console-exists.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-console-exists.js) - [parallel/test-global-console-exists.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-console-exists.js)
- [parallel/test-global-customevent-disabled.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-customevent-disabled.js)
- [parallel/test-global-customevent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-customevent.js) - [parallel/test-global-customevent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-customevent.js)
- [parallel/test-global-domexception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-domexception.js) - [parallel/test-global-domexception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-domexception.js)
- [parallel/test-global-encoder.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-encoder.js) - [parallel/test-global-encoder.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-encoder.js)
- [parallel/test-global-setters.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-setters.js) - [parallel/test-global-setters.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-setters.js)
- [parallel/test-global-webcrypto-classes.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webcrypto-classes.js) - [parallel/test-global-webcrypto-classes.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webcrypto-classes.js)
- [parallel/test-global-webcrypto-disbled.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webcrypto-disbled.js)
- [parallel/test-global-webcrypto.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webcrypto.js) - [parallel/test-global-webcrypto.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webcrypto.js)
- [parallel/test-global-webstreams.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webstreams.js) - [parallel/test-global-webstreams.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global-webstreams.js)
- [parallel/test-global.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global.js) - [parallel/test-global.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-global.js)
@ -944,6 +1019,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http-buffer-sanity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-buffer-sanity.js) - [parallel/test-http-buffer-sanity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-buffer-sanity.js)
- [parallel/test-http-byteswritten.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-byteswritten.js) - [parallel/test-http-byteswritten.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-byteswritten.js)
- [parallel/test-http-catch-uncaughtexception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-catch-uncaughtexception.js) - [parallel/test-http-catch-uncaughtexception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-catch-uncaughtexception.js)
- [parallel/test-http-chunk-extensions-limit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-chunk-extensions-limit.js)
- [parallel/test-http-chunk-problem.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-chunk-problem.js) - [parallel/test-http-chunk-problem.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-chunk-problem.js)
- [parallel/test-http-chunked-304.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-chunked-304.js) - [parallel/test-http-chunked-304.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-chunked-304.js)
- [parallel/test-http-chunked-smuggling.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-chunked-smuggling.js) - [parallel/test-http-chunked-smuggling.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-chunked-smuggling.js)
@ -965,6 +1041,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http-client-agent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-agent.js) - [parallel/test-http-client-agent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-agent.js)
- [parallel/test-http-client-check-http-token.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-check-http-token.js) - [parallel/test-http-client-check-http-token.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-check-http-token.js)
- [parallel/test-http-client-close-event.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-close-event.js) - [parallel/test-http-client-close-event.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-close-event.js)
- [parallel/test-http-client-close-with-default-agent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-close-with-default-agent.js)
- [parallel/test-http-client-default-headers-exist.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-default-headers-exist.js) - [parallel/test-http-client-default-headers-exist.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-default-headers-exist.js)
- [parallel/test-http-client-defaults.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-defaults.js) - [parallel/test-http-client-defaults.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-defaults.js)
- [parallel/test-http-client-encoding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-encoding.js) - [parallel/test-http-client-encoding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-encoding.js)
@ -975,6 +1052,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http-client-immediate-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-immediate-error.js) - [parallel/test-http-client-immediate-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-immediate-error.js)
- [parallel/test-http-client-incomingmessage-destroy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-incomingmessage-destroy.js) - [parallel/test-http-client-incomingmessage-destroy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-incomingmessage-destroy.js)
- [parallel/test-http-client-invalid-path.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-invalid-path.js) - [parallel/test-http-client-invalid-path.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-invalid-path.js)
- [parallel/test-http-client-keep-alive-hint.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-keep-alive-hint.js)
- [parallel/test-http-client-keep-alive-release-before-finish.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-keep-alive-release-before-finish.js) - [parallel/test-http-client-keep-alive-release-before-finish.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-keep-alive-release-before-finish.js)
- [parallel/test-http-client-override-global-agent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-override-global-agent.js) - [parallel/test-http-client-override-global-agent.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-override-global-agent.js)
- [parallel/test-http-client-parse-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-parse-error.js) - [parallel/test-http-client-parse-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-client-parse-error.js)
@ -1131,6 +1209,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http-proxy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-proxy.js) - [parallel/test-http-proxy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-proxy.js)
- [parallel/test-http-raw-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-raw-headers.js) - [parallel/test-http-raw-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-raw-headers.js)
- [parallel/test-http-readable-data-event.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-readable-data-event.js) - [parallel/test-http-readable-data-event.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-readable-data-event.js)
- [parallel/test-http-remove-connection-header-persists-connection.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-remove-connection-header-persists-connection.js)
- [parallel/test-http-remove-header-stays-removed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-remove-header-stays-removed.js) - [parallel/test-http-remove-header-stays-removed.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-remove-header-stays-removed.js)
- [parallel/test-http-req-close-robust-from-tampering.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-req-close-robust-from-tampering.js) - [parallel/test-http-req-close-robust-from-tampering.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-req-close-robust-from-tampering.js)
- [parallel/test-http-req-res-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-req-res-close.js) - [parallel/test-http-req-res-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-req-res-close.js)
@ -1139,6 +1218,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http-request-dont-override-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-dont-override-options.js) - [parallel/test-http-request-dont-override-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-dont-override-options.js)
- [parallel/test-http-request-end-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-end-twice.js) - [parallel/test-http-request-end-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-end-twice.js)
- [parallel/test-http-request-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-end.js) - [parallel/test-http-request-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-end.js)
- [parallel/test-http-request-host-header.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-host-header.js)
- [parallel/test-http-request-invalid-method-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-invalid-method-error.js) - [parallel/test-http-request-invalid-method-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-invalid-method-error.js)
- [parallel/test-http-request-join-authorization-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-join-authorization-headers.js) - [parallel/test-http-request-join-authorization-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-join-authorization-headers.js)
- [parallel/test-http-request-large-payload.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-large-payload.js) - [parallel/test-http-request-large-payload.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-request-large-payload.js)
@ -1160,12 +1240,15 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http-response-statuscode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-statuscode.js) - [parallel/test-http-response-statuscode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-statuscode.js)
- [parallel/test-http-response-writehead-returns-this.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-writehead-returns-this.js) - [parallel/test-http-response-writehead-returns-this.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-response-writehead-returns-this.js)
- [parallel/test-http-same-map.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-same-map.js) - [parallel/test-http-same-map.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-same-map.js)
- [parallel/test-http-server-async-dispose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-async-dispose.js)
- [parallel/test-http-server-capture-rejections.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-capture-rejections.js) - [parallel/test-http-server-capture-rejections.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-capture-rejections.js)
- [parallel/test-http-server-client-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-client-error.js) - [parallel/test-http-server-client-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-client-error.js)
- [parallel/test-http-server-close-all.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-close-all.js) - [parallel/test-http-server-close-all.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-close-all.js)
- [parallel/test-http-server-close-destroy-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-close-destroy-timeout.js)
- [parallel/test-http-server-close-idle-wait-response.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-close-idle-wait-response.js) - [parallel/test-http-server-close-idle-wait-response.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-close-idle-wait-response.js)
- [parallel/test-http-server-close-idle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-close-idle.js) - [parallel/test-http-server-close-idle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-close-idle.js)
- [parallel/test-http-server-connection-list-when-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-connection-list-when-close.js) - [parallel/test-http-server-connection-list-when-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-connection-list-when-close.js)
- [parallel/test-http-server-connections-checking-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-connections-checking-leak.js)
- [parallel/test-http-server-consumed-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-consumed-timeout.js) - [parallel/test-http-server-consumed-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-consumed-timeout.js)
- [parallel/test-http-server-de-chunked-trailer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-de-chunked-trailer.js) - [parallel/test-http-server-de-chunked-trailer.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-de-chunked-trailer.js)
- [parallel/test-http-server-delete-parser.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-delete-parser.js) - [parallel/test-http-server-delete-parser.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http-server-delete-parser.js)
@ -1251,6 +1334,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http2-cancel-while-client-reading.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-cancel-while-client-reading.js) - [parallel/test-http2-cancel-while-client-reading.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-cancel-while-client-reading.js)
- [parallel/test-http2-capture-rejection.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-capture-rejection.js) - [parallel/test-http2-capture-rejection.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-capture-rejection.js)
- [parallel/test-http2-clean-output.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-clean-output.js) - [parallel/test-http2-clean-output.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-clean-output.js)
- [parallel/test-http2-client-connection-tunnelling.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-client-connection-tunnelling.js)
- [parallel/test-http2-client-data-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-client-data-end.js) - [parallel/test-http2-client-data-end.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-client-data-end.js)
- [parallel/test-http2-client-destroy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-client-destroy.js) - [parallel/test-http2-client-destroy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-client-destroy.js)
- [parallel/test-http2-client-http1-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-client-http1-server.js) - [parallel/test-http2-client-http1-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-client-http1-server.js)
@ -1427,6 +1511,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http2-sensitive-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-sensitive-headers.js) - [parallel/test-http2-sensitive-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-sensitive-headers.js)
- [parallel/test-http2-sent-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-sent-headers.js) - [parallel/test-http2-sent-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-sent-headers.js)
- [parallel/test-http2-serve-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-serve-file.js) - [parallel/test-http2-serve-file.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-serve-file.js)
- [parallel/test-http2-server-async-dispose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-server-async-dispose.js)
- [parallel/test-http2-server-close-callback.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-server-close-callback.js) - [parallel/test-http2-server-close-callback.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-server-close-callback.js)
- [parallel/test-http2-server-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-server-errors.js) - [parallel/test-http2-server-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-server-errors.js)
- [parallel/test-http2-server-http1-client.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-server-http1-client.js) - [parallel/test-http2-server-http1-client.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-server-http1-client.js)
@ -1458,6 +1543,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http2-settings-unsolicited-ack.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-settings-unsolicited-ack.js) - [parallel/test-http2-settings-unsolicited-ack.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-settings-unsolicited-ack.js)
- [parallel/test-http2-short-stream-client-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-short-stream-client-server.js) - [parallel/test-http2-short-stream-client-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-short-stream-client-server.js)
- [parallel/test-http2-single-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-single-headers.js) - [parallel/test-http2-single-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-single-headers.js)
- [parallel/test-http2-socket-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-socket-close.js)
- [parallel/test-http2-socket-proxy-handler-for-has.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-socket-proxy-handler-for-has.js) - [parallel/test-http2-socket-proxy-handler-for-has.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-socket-proxy-handler-for-has.js)
- [parallel/test-http2-socket-proxy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-socket-proxy.js) - [parallel/test-http2-socket-proxy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-socket-proxy.js)
- [parallel/test-http2-status-code-invalid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-status-code-invalid.js) - [parallel/test-http2-status-code-invalid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-status-code-invalid.js)
@ -1471,6 +1557,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-http2-too-many-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-too-many-headers.js) - [parallel/test-http2-too-many-headers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-too-many-headers.js)
- [parallel/test-http2-too-many-settings.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-too-many-settings.js) - [parallel/test-http2-too-many-settings.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-too-many-settings.js)
- [parallel/test-http2-too-many-streams.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-too-many-streams.js) - [parallel/test-http2-too-many-streams.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-too-many-streams.js)
- [parallel/test-http2-trailers-after-session-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-trailers-after-session-close.js)
- [parallel/test-http2-trailers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-trailers.js) - [parallel/test-http2-trailers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-trailers.js)
- [parallel/test-http2-unbound-socket-proxy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-unbound-socket-proxy.js) - [parallel/test-http2-unbound-socket-proxy.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-unbound-socket-proxy.js)
- [parallel/test-http2-update-settings.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-update-settings.js) - [parallel/test-http2-update-settings.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-http2-update-settings.js)
@ -1529,8 +1616,11 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-https-request-arguments.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-request-arguments.js) - [parallel/test-https-request-arguments.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-request-arguments.js)
- [parallel/test-https-resume-after-renew.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-resume-after-renew.js) - [parallel/test-https-resume-after-renew.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-resume-after-renew.js)
- [parallel/test-https-selfsigned-no-keycertsign-no-crash.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-selfsigned-no-keycertsign-no-crash.js) - [parallel/test-https-selfsigned-no-keycertsign-no-crash.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-selfsigned-no-keycertsign-no-crash.js)
- [parallel/test-https-server-async-dispose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-async-dispose.js)
- [parallel/test-https-server-close-all.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-close-all.js) - [parallel/test-https-server-close-all.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-close-all.js)
- [parallel/test-https-server-close-destroy-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-close-destroy-timeout.js)
- [parallel/test-https-server-close-idle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-close-idle.js) - [parallel/test-https-server-close-idle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-close-idle.js)
- [parallel/test-https-server-connections-checking-leak.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-connections-checking-leak.js)
- [parallel/test-https-server-headers-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-headers-timeout.js) - [parallel/test-https-server-headers-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-headers-timeout.js)
- [parallel/test-https-server-options-incoming-message.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-options-incoming-message.js) - [parallel/test-https-server-options-incoming-message.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-options-incoming-message.js)
- [parallel/test-https-server-options-server-response.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-options-server-response.js) - [parallel/test-https-server-options-server-response.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-https-server-options-server-response.js)
@ -1593,6 +1683,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-inspector-overwrite-config.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-overwrite-config.js) - [parallel/test-inspector-overwrite-config.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-overwrite-config.js)
- [parallel/test-inspector-port-zero-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-port-zero-cluster.js) - [parallel/test-inspector-port-zero-cluster.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-port-zero-cluster.js)
- [parallel/test-inspector-port-zero.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-port-zero.js) - [parallel/test-inspector-port-zero.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-port-zero.js)
- [parallel/test-inspector-promises.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-promises.js)
- [parallel/test-inspector-reported-host.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-reported-host.js) - [parallel/test-inspector-reported-host.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-reported-host.js)
- [parallel/test-inspector-resource-name-to-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-resource-name-to-url.js) - [parallel/test-inspector-resource-name-to-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-resource-name-to-url.js)
- [parallel/test-inspector-runtime-evaluate-with-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-runtime-evaluate-with-timeout.js) - [parallel/test-inspector-runtime-evaluate-with-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector-runtime-evaluate-with-timeout.js)
@ -1609,7 +1700,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-inspector.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector.js) - [parallel/test-inspector.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-inspector.js)
- [parallel/test-instanceof.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-instanceof.js) - [parallel/test-instanceof.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-instanceof.js)
- [parallel/test-internal-assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-assert.js) - [parallel/test-internal-assert.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-assert.js)
- [parallel/test-internal-dtrace.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-dtrace.js)
- [parallel/test-internal-error-original-names.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-error-original-names.js) - [parallel/test-internal-error-original-names.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-error-original-names.js)
- [parallel/test-internal-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-errors.js) - [parallel/test-internal-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-errors.js)
- [parallel/test-internal-fs-syncwritestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-fs-syncwritestream.js) - [parallel/test-internal-fs-syncwritestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-internal-fs-syncwritestream.js)
@ -1644,6 +1734,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-math-random.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-math-random.js) - [parallel/test-math-random.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-math-random.js)
- [parallel/test-memory-usage-emfile.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-memory-usage-emfile.js) - [parallel/test-memory-usage-emfile.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-memory-usage-emfile.js)
- [parallel/test-memory-usage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-memory-usage.js) - [parallel/test-memory-usage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-memory-usage.js)
- [parallel/test-messagechannel.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-messagechannel.js)
- [parallel/test-messageevent-brandcheck.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-messageevent-brandcheck.js) - [parallel/test-messageevent-brandcheck.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-messageevent-brandcheck.js)
- [parallel/test-messageport-hasref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-messageport-hasref.js) - [parallel/test-messageport-hasref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-messageport-hasref.js)
- [parallel/test-messaging-maketransferable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-messaging-maketransferable.js) - [parallel/test-messaging-maketransferable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-messaging-maketransferable.js)
@ -1683,9 +1774,9 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-net-after-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-after-close.js) - [parallel/test-net-after-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-after-close.js)
- [parallel/test-net-allow-half-open.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-allow-half-open.js) - [parallel/test-net-allow-half-open.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-allow-half-open.js)
- [parallel/test-net-autoselectfamily-commandline-option.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily-commandline-option.js) - [parallel/test-net-autoselectfamily-commandline-option.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily-commandline-option.js)
- [parallel/test-net-autoselectfamily-default.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily-default.js)
- [parallel/test-net-autoselectfamily-ipv4first.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily-ipv4first.js) - [parallel/test-net-autoselectfamily-ipv4first.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily-ipv4first.js)
- [parallel/test-net-autoselectfamily.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily.js) - [parallel/test-net-autoselectfamily.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamily.js)
- [parallel/test-net-autoselectfamilydefault.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-autoselectfamilydefault.js)
- [parallel/test-net-better-error-messages-listen.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-better-error-messages-listen.js) - [parallel/test-net-better-error-messages-listen.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-better-error-messages-listen.js)
- [parallel/test-net-binary.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-binary.js) - [parallel/test-net-binary.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-binary.js)
- [parallel/test-net-bind-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-bind-twice.js) - [parallel/test-net-bind-twice.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-net-bind-twice.js)
@ -1804,16 +1895,41 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-perf-hooks-histogram.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-perf-hooks-histogram.js) - [parallel/test-perf-hooks-histogram.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-perf-hooks-histogram.js)
- [parallel/test-perf-hooks-resourcetiming.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-perf-hooks-resourcetiming.js) - [parallel/test-perf-hooks-resourcetiming.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-perf-hooks-resourcetiming.js)
- [parallel/test-perf-hooks-usertiming.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-perf-hooks-usertiming.js) - [parallel/test-perf-hooks-usertiming.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-perf-hooks-usertiming.js)
- [parallel/test-perf-hooks-worker-timeorigin.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-perf-hooks-worker-timeorigin.js)
- [parallel/test-performance-eventlooputil.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-eventlooputil.js) - [parallel/test-performance-eventlooputil.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-eventlooputil.js)
- [parallel/test-performance-function-async.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-function-async.js) - [parallel/test-performance-function-async.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-function-async.js)
- [parallel/test-performance-function.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-function.js) - [parallel/test-performance-function.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-function.js)
- [parallel/test-performance-gc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-gc.js) - [parallel/test-performance-gc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-gc.js)
- [parallel/test-performance-global.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-global.js) - [parallel/test-performance-global.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-global.js)
- [parallel/test-performance-measure.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-measure.js) - [parallel/test-performance-measure.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-measure.js)
- [parallel/test-performance-nodetiming.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-nodetiming.js)
- [parallel/test-performance-resourcetimingbufferfull.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-resourcetimingbufferfull.js) - [parallel/test-performance-resourcetimingbufferfull.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-resourcetimingbufferfull.js)
- [parallel/test-performance-resourcetimingbuffersize.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-resourcetimingbuffersize.js) - [parallel/test-performance-resourcetimingbuffersize.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performance-resourcetimingbuffersize.js)
- [parallel/test-performanceobserver-gc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performanceobserver-gc.js) - [parallel/test-performanceobserver-gc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performanceobserver-gc.js)
- [parallel/test-performanceobserver.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performanceobserver.js) - [parallel/test-performanceobserver.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-performanceobserver.js)
- [parallel/test-permission-allow-child-process-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-allow-child-process-cli.js)
- [parallel/test-permission-allow-worker-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-allow-worker-cli.js)
- [parallel/test-permission-child-process-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-child-process-cli.js)
- [parallel/test-permission-experimental.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-experimental.js)
- [parallel/test-permission-fs-read.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-read.js)
- [parallel/test-permission-fs-relative-path.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-relative-path.js)
- [parallel/test-permission-fs-supported.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-supported.js)
- [parallel/test-permission-fs-symlink-relative.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-symlink-relative.js)
- [parallel/test-permission-fs-symlink-target-write.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-symlink-target-write.js)
- [parallel/test-permission-fs-symlink.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-symlink.js)
- [parallel/test-permission-fs-traversal-path.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-traversal-path.js)
- [parallel/test-permission-fs-wildcard.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-wildcard.js)
- [parallel/test-permission-fs-windows-path.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-windows-path.js)
- [parallel/test-permission-fs-write-report.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-write-report.js)
- [parallel/test-permission-fs-write-v8.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-write-v8.js)
- [parallel/test-permission-fs-write.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-fs-write.js)
- [parallel/test-permission-has.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-has.js)
- [parallel/test-permission-inspector.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-inspector.js)
- [parallel/test-permission-processbinding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-processbinding.js)
- [parallel/test-permission-warning-flags.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-warning-flags.js)
- [parallel/test-permission-worker-threads-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-permission-worker-threads-cli.js)
- [parallel/test-pipe-abstract-socket-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-abstract-socket-http.js)
- [parallel/test-pipe-abstract-socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-abstract-socket.js)
- [parallel/test-pipe-address.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-address.js) - [parallel/test-pipe-address.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-address.js)
- [parallel/test-pipe-file-to-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-file-to-http.js) - [parallel/test-pipe-file-to-http.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-file-to-http.js)
- [parallel/test-pipe-head.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-head.js) - [parallel/test-pipe-head.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-pipe-head.js)
@ -1875,6 +1991,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-process-exception-capture.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-exception-capture.js) - [parallel/test-process-exception-capture.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-exception-capture.js)
- [parallel/test-process-exec-argv.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-exec-argv.js) - [parallel/test-process-exec-argv.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-exec-argv.js)
- [parallel/test-process-execpath.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-execpath.js) - [parallel/test-process-execpath.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-execpath.js)
- [parallel/test-process-exit-code-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-exit-code-validation.js)
- [parallel/test-process-exit-code.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-exit-code.js) - [parallel/test-process-exit-code.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-exit-code.js)
- [parallel/test-process-external-stdio-close-spawn.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-external-stdio-close-spawn.js) - [parallel/test-process-external-stdio-close-spawn.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-external-stdio-close-spawn.js)
- [parallel/test-process-external-stdio-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-external-stdio-close.js) - [parallel/test-process-external-stdio-close.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-external-stdio-close.js)
@ -1904,6 +2021,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-process-remove-all-signal-listeners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-remove-all-signal-listeners.js) - [parallel/test-process-remove-all-signal-listeners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-remove-all-signal-listeners.js)
- [parallel/test-process-setgroups.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-setgroups.js) - [parallel/test-process-setgroups.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-setgroups.js)
- [parallel/test-process-setsourcemapsenabled.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-setsourcemapsenabled.js) - [parallel/test-process-setsourcemapsenabled.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-setsourcemapsenabled.js)
- [parallel/test-process-setuid-io-uring.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-setuid-io-uring.js)
- [parallel/test-process-title-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-title-cli.js) - [parallel/test-process-title-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-title-cli.js)
- [parallel/test-process-uid-gid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-uid-gid.js) - [parallel/test-process-uid-gid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-uid-gid.js)
- [parallel/test-process-umask-mask.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-umask-mask.js) - [parallel/test-process-umask-mask.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-process-umask-mask.js)
@ -1985,6 +2103,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-repl-null-thrown.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-null-thrown.js) - [parallel/test-repl-null-thrown.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-null-thrown.js)
- [parallel/test-repl-null.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-null.js) - [parallel/test-repl-null.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-null.js)
- [parallel/test-repl-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-options.js) - [parallel/test-repl-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-options.js)
- [parallel/test-repl-permission-model.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-permission-model.js)
- [parallel/test-repl-persistent-history.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-persistent-history.js) - [parallel/test-repl-persistent-history.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-persistent-history.js)
- [parallel/test-repl-preprocess-top-level-await.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-preprocess-top-level-await.js) - [parallel/test-repl-preprocess-top-level-await.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-preprocess-top-level-await.js)
- [parallel/test-repl-pretty-custom-stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-pretty-custom-stack.js) - [parallel/test-repl-pretty-custom-stack.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-repl-pretty-custom-stack.js)
@ -2049,16 +2168,21 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-require-symlink.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-symlink.js) - [parallel/test-require-symlink.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-symlink.js)
- [parallel/test-require-unicode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-unicode.js) - [parallel/test-require-unicode.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-require-unicode.js)
- [parallel/test-resource-usage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-resource-usage.js) - [parallel/test-resource-usage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-resource-usage.js)
- [parallel/test-runner-cli-concurrency.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-cli-concurrency.js)
- [parallel/test-runner-cli-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-cli-timeout.js)
- [parallel/test-runner-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-cli.js) - [parallel/test-runner-cli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-cli.js)
- [parallel/test-runner-concurrency.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-concurrency.js) - [parallel/test-runner-concurrency.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-concurrency.js)
- [parallel/test-runner-coverage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-coverage.js) - [parallel/test-runner-coverage.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-coverage.js)
- [parallel/test-runner-exit-code.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-exit-code.js) - [parallel/test-runner-exit-code.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-exit-code.js)
- [parallel/test-runner-extraneous-async-activity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-extraneous-async-activity.js) - [parallel/test-runner-extraneous-async-activity.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-extraneous-async-activity.js)
- [parallel/test-runner-filetest-location.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-filetest-location.js)
- [parallel/test-runner-import-no-scheme.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-import-no-scheme.js) - [parallel/test-runner-import-no-scheme.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-import-no-scheme.js)
- [parallel/test-runner-misc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-misc.js) - [parallel/test-runner-misc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-misc.js)
- [parallel/test-runner-mock-timers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-mock-timers.js)
- [parallel/test-runner-mocking.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-mocking.js) - [parallel/test-runner-mocking.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-mocking.js)
- [parallel/test-runner-option-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-option-validation.js) - [parallel/test-runner-option-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-option-validation.js)
- [parallel/test-runner-reporters.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-reporters.js) - [parallel/test-runner-reporters.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-reporters.js)
- [parallel/test-runner-root-after-with-refed-handles.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-root-after-with-refed-handles.js)
- [parallel/test-runner-string-to-regexp.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-string-to-regexp.js) - [parallel/test-runner-string-to-regexp.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-string-to-regexp.js)
- [parallel/test-runner-test-filter.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-test-filter.js) - [parallel/test-runner-test-filter.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-test-filter.js)
- [parallel/test-runner-typechecking.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-typechecking.js) - [parallel/test-runner-typechecking.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-runner-typechecking.js)
@ -2068,6 +2192,15 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-set-incoming-message-header.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-set-incoming-message-header.js) - [parallel/test-set-incoming-message-header.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-set-incoming-message-header.js)
- [parallel/test-set-process-debug-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-set-process-debug-port.js) - [parallel/test-set-process-debug-port.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-set-process-debug-port.js)
- [parallel/test-setproctitle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-setproctitle.js) - [parallel/test-setproctitle.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-setproctitle.js)
- [parallel/test-shadow-realm-allowed-builtin-modules.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-allowed-builtin-modules.js)
- [parallel/test-shadow-realm-custom-loaders.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-custom-loaders.js)
- [parallel/test-shadow-realm-gc-module.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-gc-module.js)
- [parallel/test-shadow-realm-gc.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-gc.js)
- [parallel/test-shadow-realm-globals.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-globals.js)
- [parallel/test-shadow-realm-import-value-resolve.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-import-value-resolve.js)
- [parallel/test-shadow-realm-module.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-module.js)
- [parallel/test-shadow-realm-preload-module.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-preload-module.js)
- [parallel/test-shadow-realm-prepare-stack-trace.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm-prepare-stack-trace.js)
- [parallel/test-shadow-realm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm.js) - [parallel/test-shadow-realm.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-shadow-realm.js)
- [parallel/test-sigint-infinite-loop.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-sigint-infinite-loop.js) - [parallel/test-sigint-infinite-loop.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-sigint-infinite-loop.js)
- [parallel/test-signal-args.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-args.js) - [parallel/test-signal-args.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-args.js)
@ -2075,12 +2208,14 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-signal-handler.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-handler.js) - [parallel/test-signal-handler.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-handler.js)
- [parallel/test-signal-safety.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-safety.js) - [parallel/test-signal-safety.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-safety.js)
- [parallel/test-signal-unregister.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-unregister.js) - [parallel/test-signal-unregister.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-signal-unregister.js)
- [parallel/test-single-executable-application.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-single-executable-application.js) - [parallel/test-single-executable-blob-config-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-single-executable-blob-config-errors.js)
- [parallel/test-single-executable-blob-config.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-single-executable-blob-config.js)
- [parallel/test-snapshot-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-api.js) - [parallel/test-snapshot-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-api.js)
- [parallel/test-snapshot-argv1.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-argv1.js) - [parallel/test-snapshot-argv1.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-argv1.js)
- [parallel/test-snapshot-basic.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-basic.js) - [parallel/test-snapshot-basic.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-basic.js)
- [parallel/test-snapshot-cjs-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-cjs-main.js) - [parallel/test-snapshot-cjs-main.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-cjs-main.js)
- [parallel/test-snapshot-console.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-console.js) - [parallel/test-snapshot-console.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-console.js)
- [parallel/test-snapshot-cwd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-cwd.js)
- [parallel/test-snapshot-dns-lookup-localhost-promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-dns-lookup-localhost-promise.js) - [parallel/test-snapshot-dns-lookup-localhost-promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-dns-lookup-localhost-promise.js)
- [parallel/test-snapshot-dns-lookup-localhost.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-dns-lookup-localhost.js) - [parallel/test-snapshot-dns-lookup-localhost.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-dns-lookup-localhost.js)
- [parallel/test-snapshot-dns-resolve-localhost-promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-dns-resolve-localhost-promise.js) - [parallel/test-snapshot-dns-resolve-localhost-promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-dns-resolve-localhost-promise.js)
@ -2090,10 +2225,12 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-snapshot-gzip.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-gzip.js) - [parallel/test-snapshot-gzip.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-gzip.js)
- [parallel/test-snapshot-incompatible.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-incompatible.js) - [parallel/test-snapshot-incompatible.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-incompatible.js)
- [parallel/test-snapshot-namespaced-builtin.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-namespaced-builtin.js) - [parallel/test-snapshot-namespaced-builtin.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-namespaced-builtin.js)
- [parallel/test-snapshot-net.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-net.js)
- [parallel/test-snapshot-typescript.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-typescript.js) - [parallel/test-snapshot-typescript.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-typescript.js)
- [parallel/test-snapshot-umd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-umd.js) - [parallel/test-snapshot-umd.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-umd.js)
- [parallel/test-snapshot-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-warning.js) - [parallel/test-snapshot-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-warning.js)
- [parallel/test-snapshot-weak-reference.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-weak-reference.js) - [parallel/test-snapshot-weak-reference.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-weak-reference.js)
- [parallel/test-snapshot-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-snapshot-worker.js)
- [parallel/test-socket-address.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-address.js) - [parallel/test-socket-address.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-address.js)
- [parallel/test-socket-options-invalid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-options-invalid.js) - [parallel/test-socket-options-invalid.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-options-invalid.js)
- [parallel/test-socket-write-after-fin-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-write-after-fin-error.js) - [parallel/test-socket-write-after-fin-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-socket-write-after-fin-error.js)
@ -2158,6 +2295,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-stream-promises.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-promises.js) - [parallel/test-stream-promises.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-promises.js)
- [parallel/test-stream-push-order.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-push-order.js) - [parallel/test-stream-push-order.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-push-order.js)
- [parallel/test-stream-readable-async-iterators.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-async-iterators.js) - [parallel/test-stream-readable-async-iterators.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-async-iterators.js)
- [parallel/test-stream-readable-default-encoding.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-default-encoding.js)
- [parallel/test-stream-readable-dispose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-dispose.js) - [parallel/test-stream-readable-dispose.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-dispose.js)
- [parallel/test-stream-readable-strategy-option.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-strategy-option.js) - [parallel/test-stream-readable-strategy-option.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-strategy-option.js)
- [parallel/test-stream-readable-unpipe-resume.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-unpipe-resume.js) - [parallel/test-stream-readable-unpipe-resume.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-stream-readable-unpipe-resume.js)
@ -2323,6 +2461,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-tls-honorcipherorder.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-honorcipherorder.js) - [parallel/test-tls-honorcipherorder.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-honorcipherorder.js)
- [parallel/test-tls-inception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-inception.js) - [parallel/test-tls-inception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-inception.js)
- [parallel/test-tls-interleave.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-interleave.js) - [parallel/test-tls-interleave.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-interleave.js)
- [parallel/test-tls-invalid-pfx.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-invalid-pfx.js)
- [parallel/test-tls-invoke-queued.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-invoke-queued.js) - [parallel/test-tls-invoke-queued.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-invoke-queued.js)
- [parallel/test-tls-ip-servername-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-ip-servername-deprecation.js) - [parallel/test-tls-ip-servername-deprecation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-ip-servername-deprecation.js)
- [parallel/test-tls-js-stream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-js-stream.js) - [parallel/test-tls-js-stream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-js-stream.js)
@ -2359,6 +2498,8 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-tls-psk-circuit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-psk-circuit.js) - [parallel/test-tls-psk-circuit.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-psk-circuit.js)
- [parallel/test-tls-psk-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-psk-errors.js) - [parallel/test-tls-psk-errors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-psk-errors.js)
- [parallel/test-tls-psk-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-psk-server.js) - [parallel/test-tls-psk-server.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-psk-server.js)
- [parallel/test-tls-reduced-SECLEVEL-in-cipher.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-reduced-SECLEVEL-in-cipher.js)
- [parallel/test-tls-reinitialize-listeners.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-reinitialize-listeners.js)
- [parallel/test-tls-request-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-request-timeout.js) - [parallel/test-tls-request-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-request-timeout.js)
- [parallel/test-tls-retain-handle-no-abort.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-retain-handle-no-abort.js) - [parallel/test-tls-retain-handle-no-abort.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-retain-handle-no-abort.js)
- [parallel/test-tls-reuse-host-from-socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-reuse-host-from-socket.js) - [parallel/test-tls-reuse-host-from-socket.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-tls-reuse-host-from-socket.js)
@ -2454,6 +2595,8 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-unhandled-exception-rethrow-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unhandled-exception-rethrow-error.js) - [parallel/test-unhandled-exception-rethrow-error.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unhandled-exception-rethrow-error.js)
- [parallel/test-unhandled-exception-with-worker-inuse.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unhandled-exception-with-worker-inuse.js) - [parallel/test-unhandled-exception-with-worker-inuse.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unhandled-exception-with-worker-inuse.js)
- [parallel/test-unicode-node-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unicode-node-options.js) - [parallel/test-unicode-node-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-unicode-node-options.js)
- [parallel/test-url-canParse-whatwg.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-url-canParse-whatwg.js)
- [parallel/test-url-is-url.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-url-is-url.js)
- [parallel/test-url-null-char.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-url-null-char.js) - [parallel/test-url-null-char.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-url-null-char.js)
- [parallel/test-url-parse-format.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-url-parse-format.js) - [parallel/test-url-parse-format.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-url-parse-format.js)
- [parallel/test-utf8-scripts.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-utf8-scripts.js) - [parallel/test-utf8-scripts.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-utf8-scripts.js)
@ -2506,6 +2649,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-vm-cross-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-cross-context.js) - [parallel/test-vm-cross-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-cross-context.js)
- [parallel/test-vm-data-property-writable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-data-property-writable.js) - [parallel/test-vm-data-property-writable.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-data-property-writable.js)
- [parallel/test-vm-deleting-property.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-deleting-property.js) - [parallel/test-vm-deleting-property.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-deleting-property.js)
- [parallel/test-vm-dynamic-import-callback-missing-flag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-dynamic-import-callback-missing-flag.js)
- [parallel/test-vm-function-declaration.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-function-declaration.js) - [parallel/test-vm-function-declaration.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-function-declaration.js)
- [parallel/test-vm-function-redefinition.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-function-redefinition.js) - [parallel/test-vm-function-redefinition.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-function-redefinition.js)
- [parallel/test-vm-getters.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-getters.js) - [parallel/test-vm-getters.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-getters.js)
@ -2534,6 +2678,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-vm-module-reevaluate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-module-reevaluate.js) - [parallel/test-vm-module-reevaluate.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-module-reevaluate.js)
- [parallel/test-vm-module-synthetic.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-module-synthetic.js) - [parallel/test-vm-module-synthetic.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-module-synthetic.js)
- [parallel/test-vm-new-script-new-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-new-script-new-context.js) - [parallel/test-vm-new-script-new-context.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-new-script-new-context.js)
- [parallel/test-vm-no-dynamic-import-callback.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-no-dynamic-import-callback.js)
- [parallel/test-vm-not-strict.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-not-strict.js) - [parallel/test-vm-not-strict.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-not-strict.js)
- [parallel/test-vm-options-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-options-validation.js) - [parallel/test-vm-options-validation.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-options-validation.js)
- [parallel/test-vm-parse-abort-on-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-parse-abort-on-uncaught-exception.js) - [parallel/test-vm-parse-abort-on-uncaught-exception.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-parse-abort-on-uncaught-exception.js)
@ -2559,9 +2704,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-vm-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-timeout.js) - [parallel/test-vm-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-vm-timeout.js)
- [parallel/test-warn-sigprof.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-warn-sigprof.js) - [parallel/test-warn-sigprof.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-warn-sigprof.js)
- [parallel/test-warn-stream-wrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-warn-stream-wrap.js) - [parallel/test-warn-stream-wrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-warn-stream-wrap.js)
- [parallel/test-wasm-memory-out-of-bound.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wasm-memory-out-of-bound.js)
- [parallel/test-wasm-simple.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wasm-simple.js)
- [parallel/test-wasm-web-api.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wasm-web-api.js)
- [parallel/test-weakref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-weakref.js) - [parallel/test-weakref.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-weakref.js)
- [parallel/test-webcrypto-constructors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-constructors.js) - [parallel/test-webcrypto-constructors.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-constructors.js)
- [parallel/test-webcrypto-cryptokey-workers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-cryptokey-workers.js) - [parallel/test-webcrypto-cryptokey-workers.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-cryptokey-workers.js)
@ -2590,6 +2732,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-webcrypto-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-util.js) - [parallel/test-webcrypto-util.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-util.js)
- [parallel/test-webcrypto-webidl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-webidl.js) - [parallel/test-webcrypto-webidl.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-webidl.js)
- [parallel/test-webcrypto-wrap-unwrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-wrap-unwrap.js) - [parallel/test-webcrypto-wrap-unwrap.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webcrypto-wrap-unwrap.js)
- [parallel/test-websocket.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-websocket.js)
- [parallel/test-webstream-encoding-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-encoding-inspect.js) - [parallel/test-webstream-encoding-inspect.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-encoding-inspect.js)
- [parallel/test-webstream-readablestream-pipeto.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-readablestream-pipeto.js) - [parallel/test-webstream-readablestream-pipeto.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-readablestream-pipeto.js)
- [parallel/test-webstream-string-tag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-string-tag.js) - [parallel/test-webstream-string-tag.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-webstream-string-tag.js)
@ -2609,6 +2752,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-whatwg-events-eventtarget-this-of-listener.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-events-eventtarget-this-of-listener.js) - [parallel/test-whatwg-events-eventtarget-this-of-listener.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-events-eventtarget-this-of-listener.js)
- [parallel/test-whatwg-readablebytestream-bad-buffers-and-views.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablebytestream-bad-buffers-and-views.js) - [parallel/test-whatwg-readablebytestream-bad-buffers-and-views.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablebytestream-bad-buffers-and-views.js)
- [parallel/test-whatwg-readablebytestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablebytestream.js) - [parallel/test-whatwg-readablebytestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablebytestream.js)
- [parallel/test-whatwg-readablebytestreambyob.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablebytestreambyob.js)
- [parallel/test-whatwg-readablestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablestream.js) - [parallel/test-whatwg-readablestream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-readablestream.js)
- [parallel/test-whatwg-transformstream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-transformstream.js) - [parallel/test-whatwg-transformstream.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-transformstream.js)
- [parallel/test-whatwg-url-canparse.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-url-canparse.js) - [parallel/test-whatwg-url-canparse.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-whatwg-url-canparse.js)
@ -2776,6 +2920,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [parallel/test-wrap-js-stream-exceptions.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wrap-js-stream-exceptions.js) - [parallel/test-wrap-js-stream-exceptions.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wrap-js-stream-exceptions.js)
- [parallel/test-wrap-js-stream-read-stop.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wrap-js-stream-read-stop.js) - [parallel/test-wrap-js-stream-read-stop.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-wrap-js-stream-read-stop.js)
- [parallel/test-x509-escaping.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-x509-escaping.js) - [parallel/test-x509-escaping.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-x509-escaping.js)
- [parallel/test-zlib-brotli-16GB.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-zlib-brotli-16GB.js)
- [parallel/test-zlib-brotli-flush.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-zlib-brotli-flush.js) - [parallel/test-zlib-brotli-flush.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-zlib-brotli-flush.js)
- [parallel/test-zlib-brotli-from-brotli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-zlib-brotli-from-brotli.js) - [parallel/test-zlib-brotli-from-brotli.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-zlib-brotli-from-brotli.js)
- [parallel/test-zlib-brotli-from-string.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-zlib-brotli-from-string.js) - [parallel/test-zlib-brotli-from-string.js](https://github.com/nodejs/node/tree/v18.12.1/test/parallel/test-zlib-brotli-from-string.js)
@ -2855,6 +3000,7 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [pummel/test-heapdump-fs-promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-fs-promise.js) - [pummel/test-heapdump-fs-promise.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-fs-promise.js)
- [pummel/test-heapdump-http2.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-http2.js) - [pummel/test-heapdump-http2.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-http2.js)
- [pummel/test-heapdump-inspector.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-inspector.js) - [pummel/test-heapdump-inspector.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-inspector.js)
- [pummel/test-heapdump-shadow-realm.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-shadow-realm.js)
- [pummel/test-heapdump-tls.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-tls.js) - [pummel/test-heapdump-tls.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-tls.js)
- [pummel/test-heapdump-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-worker.js) - [pummel/test-heapdump-worker.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-worker.js)
- [pummel/test-heapdump-zlib.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-zlib.js) - [pummel/test-heapdump-zlib.js](https://github.com/nodejs/node/tree/v18.12.1/test/pummel/test-heapdump-zlib.js)
@ -2937,6 +3083,8 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [sequential/test-gc-http-client-onerror.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-gc-http-client-onerror.js) - [sequential/test-gc-http-client-onerror.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-gc-http-client-onerror.js)
- [sequential/test-gc-http-client-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-gc-http-client-timeout.js) - [sequential/test-gc-http-client-timeout.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-gc-http-client-timeout.js)
- [sequential/test-gc-http-client.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-gc-http-client.js) - [sequential/test-gc-http-client.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-gc-http-client.js)
- [sequential/test-get-heapsnapshot-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-get-heapsnapshot-options.js)
- [sequential/test-heapdump-flag-custom-dir.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-heapdump-flag-custom-dir.js)
- [sequential/test-heapdump-flag.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-heapdump-flag.js) - [sequential/test-heapdump-flag.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-heapdump-flag.js)
- [sequential/test-heapdump.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-heapdump.js) - [sequential/test-heapdump.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-heapdump.js)
- [sequential/test-http-econnrefused.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-http-econnrefused.js) - [sequential/test-http-econnrefused.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-http-econnrefused.js)
@ -2977,6 +3125,12 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [sequential/test-repl-timeout-throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-repl-timeout-throw.js) - [sequential/test-repl-timeout-throw.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-repl-timeout-throw.js)
- [sequential/test-require-cache-without-stat.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-require-cache-without-stat.js) - [sequential/test-require-cache-without-stat.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-require-cache-without-stat.js)
- [sequential/test-resolution-inspect-brk.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-resolution-inspect-brk.js) - [sequential/test-resolution-inspect-brk.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-resolution-inspect-brk.js)
- [sequential/test-single-executable-application-disable-experimental-sea-warning.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-single-executable-application-disable-experimental-sea-warning.js)
- [sequential/test-single-executable-application-empty.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-single-executable-application-empty.js)
- [sequential/test-single-executable-application-snapshot-and-code-cache.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-single-executable-application-snapshot-and-code-cache.js)
- [sequential/test-single-executable-application-snapshot.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-single-executable-application-snapshot.js)
- [sequential/test-single-executable-application-use-code-cache.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-single-executable-application-use-code-cache.js)
- [sequential/test-single-executable-application.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-single-executable-application.js)
- [sequential/test-stream2-fs.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-stream2-fs.js) - [sequential/test-stream2-fs.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-stream2-fs.js)
- [sequential/test-stream2-stderr-sync.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-stream2-stderr-sync.js) - [sequential/test-stream2-stderr-sync.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-stream2-stderr-sync.js)
- [sequential/test-timers-block-eventloop.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-timers-block-eventloop.js) - [sequential/test-timers-block-eventloop.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-timers-block-eventloop.js)
@ -2993,4 +3147,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
- [sequential/test-worker-eventlooputil.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-eventlooputil.js) - [sequential/test-worker-eventlooputil.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-eventlooputil.js)
- [sequential/test-worker-fshandles-error-on-termination.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-fshandles-error-on-termination.js) - [sequential/test-worker-fshandles-error-on-termination.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-fshandles-error-on-termination.js)
- [sequential/test-worker-fshandles-open-close-on-termination.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-fshandles-open-close-on-termination.js) - [sequential/test-worker-fshandles-open-close-on-termination.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-fshandles-open-close-on-termination.js)
- [sequential/test-worker-heapsnapshot-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-heapsnapshot-options.js)
- [sequential/test-worker-prof.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-prof.js) - [sequential/test-worker-prof.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-worker-prof.js)
- [sequential/test-write-heapsnapshot-options.js](https://github.com/nodejs/node/tree/v18.12.1/test/sequential/test-write-heapsnapshot-options.js)

@ -1 +1 @@
Subproject commit b114fad0ec952fddddefc8972c43d2959388bbc1 Subproject commit d12a68fc4930062c0bed26447a6b5245697e77c1

View file

@ -128,7 +128,7 @@ async function runTest(t: Deno.TestContext, path: string): Promise<void> {
} }
const stderrOutput = decoder.decode(stderr); const stderrOutput = decoder.decode(stderr);
const repeatCmd = magenta( const repeatCmd = magenta(
`./target/debug/deno test -A tests/node_compat/test.ts -- ${path}`, `./target/debug/deno test --config tests/config/deno.json -A tests/node_compat/test.ts -- ${path}`,
); );
const msg = `"${magenta(path)}" failed: const msg = `"${magenta(path)}" failed:

View file

@ -8,7 +8,9 @@
'use strict'; 'use strict';
const assert = require('assert'); const assert = require('assert');
const { spawnSync, execFileSync } = require('child_process');
const common = require('./'); const common = require('./');
const util = require('util');
// Workaround for Windows Server 2008R2 // Workaround for Windows Server 2008R2
// When CMD is used to launch a process and CMD is killed too quickly, the // When CMD is used to launch a process and CMD is killed too quickly, the
@ -20,14 +22,13 @@ function cleanupStaleProcess(filename) {
process.once('beforeExit', () => { process.once('beforeExit', () => {
const basename = filename.replace(/.*[/\\]/g, ''); const basename = filename.replace(/.*[/\\]/g, '');
try { try {
require('child_process') execFileSync(`${process.env.SystemRoot}\\System32\\wbem\\WMIC.exe`, [
.execFileSync(`${process.env.SystemRoot}\\System32\\wbem\\WMIC.exe`, [ 'process',
'process', 'where',
'where', `commandline like '%${basename}%child'`,
`commandline like '%${basename}%child'`, 'delete',
'delete', '/nointeractive',
'/nointeractive', ]);
]);
} catch { } catch {
// Ignore failures, there might not be any stale process to clean up. // Ignore failures, there might not be any stale process to clean up.
} }
@ -48,9 +49,98 @@ function logAfterTime(time) {
}, time); }, time);
} }
function checkOutput(str, check) {
if ((check instanceof RegExp && !check.test(str)) ||
(typeof check === 'string' && check !== str)) {
return { passed: false, reason: `did not match ${util.inspect(check)}` };
}
if (typeof check === 'function') {
try {
check(str);
} catch (error) {
return {
passed: false,
reason: `did not match expectation, checker throws:\n${util.inspect(error)}`,
};
}
}
return { passed: true };
}
function expectSyncExit(child, {
status,
signal,
stderr: stderrCheck,
stdout: stdoutCheck,
trim = false,
}) {
const failures = [];
let stderrStr, stdoutStr;
if (status !== undefined && child.status !== status) {
failures.push(`- process terminated with status ${child.status}, expected ${status}`);
}
if (signal !== undefined && child.signal !== signal) {
failures.push(`- process terminated with signal ${child.signal}, expected ${signal}`);
}
function logAndThrow() {
const tag = `[process ${child.pid}]:`;
console.error(`${tag} --- stderr ---`);
console.error(stderrStr === undefined ? child.stderr.toString() : stderrStr);
console.error(`${tag} --- stdout ---`);
console.error(stdoutStr === undefined ? child.stdout.toString() : stdoutStr);
console.error(`${tag} status = ${child.status}, signal = ${child.signal}`);
throw new Error(`${failures.join('\n')}`);
}
// If status and signal are not matching expectations, fail early.
if (failures.length !== 0) {
logAndThrow();
}
if (stderrCheck !== undefined) {
stderrStr = child.stderr.toString();
const { passed, reason } = checkOutput(trim ? stderrStr.trim() : stderrStr, stderrCheck);
if (!passed) {
failures.push(`- stderr ${reason}`);
}
}
if (stdoutCheck !== undefined) {
stdoutStr = child.stdout.toString();
const { passed, reason } = checkOutput(trim ? stdoutStr.trim() : stdoutStr, stdoutCheck);
if (!passed) {
failures.push(`- stdout ${reason}`);
}
}
if (failures.length !== 0) {
logAndThrow();
}
return { child, stderr: stderrStr, stdout: stdoutStr };
}
function spawnSyncAndExit(...args) {
const spawnArgs = args.slice(0, args.length - 1);
const expectations = args[args.length - 1];
const child = spawnSync(...spawnArgs);
return expectSyncExit(child, expectations);
}
function spawnSyncAndExitWithoutError(...args) {
const spawnArgs = args.slice(0, args.length);
const expectations = args[args.length - 1];
const child = spawnSync(...spawnArgs);
return expectSyncExit(child, {
status: 0,
signal: null,
...expectations,
});
}
module.exports = { module.exports = {
cleanupStaleProcess, cleanupStaleProcess,
logAfterTime, logAfterTime,
kExpiringChildRunTime, kExpiringChildRunTime,
kExpiringParentTimer, kExpiringParentTimer,
spawnSyncAndExit,
spawnSyncAndExitWithoutError,
}; };

View file

@ -11,10 +11,12 @@
*/ */
'use strict'; 'use strict';
const assert = require("assert"); const assert = require("assert");
const { spawn } = require('child_process');
const path = require("path"); const path = require("path");
const util = require("util"); const util = require("util");
const tmpdir = require("./tmpdir"); const tmpdir = require("./tmpdir");
function platformTimeout(ms) { function platformTimeout(ms) {
return ms; return ms;
} }
@ -442,6 +444,36 @@ const pwdCommand = isWindows ?
['cmd.exe', ['/d', '/c', 'cd']] : ['cmd.exe', ['/d', '/c', 'cd']] :
['pwd', []]; ['pwd', []];
function spawnPromisified(...args) {
let stderr = '';
let stdout = '';
const child = spawn(...args);
child.stderr.setEncoding('utf8');
child.stderr.on('data', (data) => { stderr += data; });
child.stdout.setEncoding('utf8');
child.stdout.on('data', (data) => { stdout += data; });
return new Promise((resolve, reject) => {
child.on('close', (code, signal) => {
resolve({
code,
signal,
stderr,
stdout,
});
});
child.on('error', (code, signal) => {
reject({
code,
signal,
stderr,
stdout,
});
});
});
}
module.exports = { module.exports = {
allowGlobals, allowGlobals,
expectsError, expectsError,
@ -464,6 +496,7 @@ module.exports = {
printSkipMessage, printSkipMessage,
pwdCommand, pwdCommand,
skipIfDumbTerminal, skipIfDumbTerminal,
spawnPromisified,
isDumbTerminal, isDumbTerminal,
isWindows, isWindows,
isAIX, isAIX,

View file

@ -11,105 +11,105 @@ const require = createRequire(import.meta.url);
const common = require('./index.js'); const common = require('./index.js');
const { const {
isMainThread,
isWindows,
isAIX,
isIBMi,
isLinuxPPCBE,
isSunOS,
isDumbTerminal,
isFreeBSD,
isOpenBSD,
isLinux,
isOSX,
enoughTestMem,
buildType,
localIPv6Hosts,
opensslCli,
PIPE,
hasCrypto,
hasIPv6,
childShouldThrowAndAbort,
checkoutEOL,
createZeroFilledFile,
platformTimeout,
allowGlobals, allowGlobals,
mustCall, buildType,
mustCallAtLeast,
mustSucceed,
hasMultiLocalhost,
skipIfDumbTerminal,
skipIfEslintMissing,
canCreateSymLink, canCreateSymLink,
getCallSite, checkoutEOL,
mustNotCall, childShouldThrowAndAbort,
mustNotMutateObjectDeep, createZeroFilledFile,
parseTestFlags, enoughTestMem,
printSkipMessage,
skip,
nodeProcessAborted,
isAlive,
expectWarning,
expectsError, expectsError,
skipIfInspectorDisabled, expectWarning,
skipIf32Bits,
getArrayBufferViews, getArrayBufferViews,
getBufferSources, getBufferSources,
getCallSite,
getTTYfd, getTTYfd,
hasCrypto,
hasIPv6,
hasMultiLocalhost,
isAIX,
isAlive,
isDumbTerminal,
isFreeBSD,
isIBMi,
isLinux,
isLinuxPPCBE,
isMainThread,
isOpenBSD,
isOSX,
isSunOS,
isWindows,
localIPv6Hosts,
mustCall,
mustCallAtLeast,
mustNotCall,
mustNotMutateObjectDeep,
mustSucceed,
nodeProcessAborted,
opensslCli,
parseTestFlags,
PIPE,
platformTimeout,
printSkipMessage,
runWithInvalidFD, runWithInvalidFD,
skip,
skipIf32Bits,
skipIfDumbTerminal,
skipIfEslintMissing,
skipIfInspectorDisabled,
spawnPromisified, spawnPromisified,
} = common; } = common;
const getPort = () => common.PORT; const getPort = () => common.PORT;
export { export {
isMainThread,
isWindows,
isAIX,
isIBMi,
isLinuxPPCBE,
isSunOS,
isDumbTerminal,
isFreeBSD,
isOpenBSD,
isLinux,
isOSX,
enoughTestMem,
buildType,
localIPv6Hosts,
opensslCli,
PIPE,
hasCrypto,
hasIPv6,
childShouldThrowAndAbort,
checkoutEOL,
createZeroFilledFile,
platformTimeout,
allowGlobals, allowGlobals,
mustCall, buildType,
mustCallAtLeast,
mustSucceed,
hasMultiLocalhost,
skipIfDumbTerminal,
skipIfEslintMissing,
canCreateSymLink, canCreateSymLink,
getCallSite, checkoutEOL,
mustNotCall, childShouldThrowAndAbort,
mustNotMutateObjectDeep, createRequire,
parseTestFlags, createZeroFilledFile,
printSkipMessage, enoughTestMem,
skip,
nodeProcessAborted,
isAlive,
expectWarning,
expectsError, expectsError,
skipIfInspectorDisabled, expectWarning,
skipIf32Bits,
getArrayBufferViews, getArrayBufferViews,
getBufferSources, getBufferSources,
getTTYfd, getCallSite,
runWithInvalidFD,
createRequire,
spawnPromisified,
getPort, getPort,
getTTYfd,
hasCrypto,
hasIPv6,
hasMultiLocalhost,
isAIX,
isAlive,
isDumbTerminal,
isFreeBSD,
isIBMi,
isLinux,
isLinuxPPCBE,
isMainThread,
isOpenBSD,
isOSX,
isSunOS,
isWindows,
localIPv6Hosts,
mustCall,
mustCallAtLeast,
mustNotCall,
mustNotMutateObjectDeep,
mustSucceed,
nodeProcessAborted,
opensslCli,
parseTestFlags,
PIPE,
platformTimeout,
printSkipMessage,
runWithInvalidFD,
skip,
skipIf32Bits,
skipIfDumbTerminal,
skipIfEslintMissing,
skipIfInspectorDisabled,
spawnPromisified,
}; };

View file

@ -7,12 +7,25 @@
'use strict'; 'use strict';
const { spawnSync } = require('child_process');
const fs = require('fs'); const fs = require('fs');
const path = require('path'); const path = require('path');
const { pathToFileURL } = require('url');
const { isMainThread } = require('worker_threads'); const { isMainThread } = require('worker_threads');
function rmSync(pathname) { function rmSync(pathname, useSpawn) {
fs.rmSync(pathname, { maxRetries: 3, recursive: true, force: true }); if (useSpawn) {
const escapedPath = pathname.replaceAll('\\', '\\\\');
spawnSync(
process.execPath,
[
'-e',
`require("fs").rmSync("${escapedPath}", { maxRetries: 3, recursive: true, force: true });`,
],
);
} else {
fs.rmSync(pathname, { maxRetries: 3, recursive: true, force: true });
}
} }
const testRoot = process.env.NODE_TEST_DIR ? const testRoot = process.env.NODE_TEST_DIR ?
@ -25,25 +38,27 @@ const tmpdirName = '.tmp.' +
const tmpPath = path.join(testRoot, tmpdirName); const tmpPath = path.join(testRoot, tmpdirName);
let firstRefresh = true; let firstRefresh = true;
function refresh() { function refresh(useSpawn = false) {
rmSync(tmpPath); rmSync(tmpPath, useSpawn);
fs.mkdirSync(tmpPath); fs.mkdirSync(tmpPath);
if (firstRefresh) { if (firstRefresh) {
firstRefresh = false; firstRefresh = false;
// Clean only when a test uses refresh. This allows for child processes to // Clean only when a test uses refresh. This allows for child processes to
// use the tmpdir and only the parent will clean on exit. // use the tmpdir and only the parent will clean on exit.
process.on('exit', onexit); process.on('exit', () => {
return onexit(useSpawn);
});
} }
} }
function onexit() { function onexit(useSpawn) {
// Change directory to avoid possible EBUSY // Change directory to avoid possible EBUSY
if (isMainThread) if (isMainThread)
process.chdir(testRoot); process.chdir(testRoot);
try { try {
rmSync(tmpPath); rmSync(tmpPath, useSpawn);
} catch (e) { } catch (e) {
console.error('Can\'t clean tmpdir:', tmpPath); console.error('Can\'t clean tmpdir:', tmpPath);
@ -71,9 +86,17 @@ function hasEnoughSpace(size) {
return bavail >= Math.ceil(size / bsize); return bavail >= Math.ceil(size / bsize);
} }
function fileURL(...paths) {
// When called without arguments, add explicit trailing slash
const fullPath = path.resolve(tmpPath + path.sep, ...paths);
return pathToFileURL(fullPath);
}
module.exports = { module.exports = {
fileURL,
hasEnoughSpace,
path: tmpPath, path: tmpPath,
refresh, refresh,
hasEnoughSpace,
resolve, resolve,
}; };

View file

@ -24,7 +24,7 @@ assert.rejects(
code: 'ENOTFOUND', code: 'ENOTFOUND',
message: `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}`, message: `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}`,
}, },
); ).then(common.mustCall());
assert.rejects( assert.rejects(
dnsPromises.lookup(addresses.NOT_FOUND, { dnsPromises.lookup(addresses.NOT_FOUND, {
@ -36,7 +36,7 @@ assert.rejects(
code: 'ENOTFOUND', code: 'ENOTFOUND',
message: `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}`, message: `getaddrinfo ENOTFOUND ${addresses.NOT_FOUND}`,
}, },
); ).then(common.mustCall());
dns.lookup(addresses.NOT_FOUND, { dns.lookup(addresses.NOT_FOUND, {
hints: 0, hints: 0,

View file

@ -12,9 +12,8 @@ const assert = require('assert');
const { SlowBuffer } = require('buffer'); const { SlowBuffer } = require('buffer');
const msg = { const msg = {
code: 'ERR_INVALID_ARG_VALUE', code: 'ERR_OUT_OF_RANGE',
name: 'RangeError', name: 'RangeError',
message: /^The argument 'size' is invalid\. Received [^"]*$/
}; };
// Test that negative Buffer length inputs throw errors. // Test that negative Buffer length inputs throw errors.

View file

@ -15,23 +15,12 @@ const SlowBuffer = buffer.SlowBuffer;
const kMaxLength = buffer.kMaxLength; const kMaxLength = buffer.kMaxLength;
const bufferMaxSizeMsg = { const bufferMaxSizeMsg = {
code: 'ERR_INVALID_ARG_VALUE', code: 'ERR_OUT_OF_RANGE',
name: 'RangeError', name: 'RangeError',
message: /^The argument 'size' is invalid\. Received [^"]*$/
}; };
assert.throws(() => Buffer((-1 >>> 0) + 2), bufferMaxSizeMsg);
assert.throws(() => SlowBuffer((-1 >>> 0) + 2), bufferMaxSizeMsg);
assert.throws(() => Buffer.alloc((-1 >>> 0) + 2), bufferMaxSizeMsg);
assert.throws(() => Buffer.allocUnsafe((-1 >>> 0) + 2), bufferMaxSizeMsg);
assert.throws(() => Buffer.allocUnsafeSlow((-1 >>> 0) + 2), bufferMaxSizeMsg);
assert.throws(() => Buffer(kMaxLength + 1), bufferMaxSizeMsg); assert.throws(() => Buffer(kMaxLength + 1), bufferMaxSizeMsg);
assert.throws(() => SlowBuffer(kMaxLength + 1), bufferMaxSizeMsg); assert.throws(() => SlowBuffer(kMaxLength + 1), bufferMaxSizeMsg);
assert.throws(() => Buffer.alloc(kMaxLength + 1), bufferMaxSizeMsg); assert.throws(() => Buffer.alloc(kMaxLength + 1), bufferMaxSizeMsg);
assert.throws(() => Buffer.allocUnsafe(kMaxLength + 1), bufferMaxSizeMsg); assert.throws(() => Buffer.allocUnsafe(kMaxLength + 1), bufferMaxSizeMsg);
assert.throws(() => Buffer.allocUnsafeSlow(kMaxLength + 1), bufferMaxSizeMsg); assert.throws(() => Buffer.allocUnsafeSlow(kMaxLength + 1), bufferMaxSizeMsg);
// issue GH-4331
assert.throws(() => Buffer.allocUnsafe(0x100000001), bufferMaxSizeMsg);
assert.throws(() => Buffer.allocUnsafe(0xFFFFFFFFF), bufferMaxSizeMsg);

View file

@ -78,9 +78,9 @@ for (let i = 0, s = buf.toString(); i < buf.length; ++i) {
); );
} }
expectedSameBufs.forEach(([buf1, buf2]) => { for (const [buf1, buf2] of expectedSameBufs) {
assert.strictEqual(Buffer.compare(buf1, buf2), 0); assert.strictEqual(Buffer.compare(buf1, buf2), 0);
}); }
const utf16Buf = Buffer.from('0123456789', 'utf16le'); const utf16Buf = Buffer.from('0123456789', 'utf16le');
assert.deepStrictEqual(utf16Buf.slice(0, 6), Buffer.from('012', 'utf16le')); assert.deepStrictEqual(utf16Buf.slice(0, 6), Buffer.from('012', 'utf16le'));

View file

@ -59,9 +59,8 @@ assert.throws(() => SlowBuffer(true), bufferInvalidTypeMsg);
// Should throw with invalid length value // Should throw with invalid length value
const bufferMaxSizeMsg = { const bufferMaxSizeMsg = {
code: 'ERR_INVALID_ARG_VALUE', code: 'ERR_OUT_OF_RANGE',
name: 'RangeError', name: 'RangeError',
message: /^The argument 'size' is invalid\. Received [^"]*$/
}; };
assert.throws(() => SlowBuffer(NaN), bufferMaxSizeMsg); assert.throws(() => SlowBuffer(NaN), bufferMaxSizeMsg);
assert.throws(() => SlowBuffer(Infinity), bufferMaxSizeMsg); assert.throws(() => SlowBuffer(Infinity), bufferMaxSizeMsg);

View file

@ -8,18 +8,22 @@
'use strict'; 'use strict';
require('../common'); require('../common');
// This test ensures that Node.js throws a RangeError when trying to convert a // This test ensures that Node.js throws an Error when trying to convert a
// gigantic buffer into a string. // large buffer into a string.
// Regression test for https://github.com/nodejs/node/issues/649. // Regression test for https://github.com/nodejs/node/issues/649.
const assert = require('assert'); const assert = require('assert');
const SlowBuffer = require('buffer').SlowBuffer; const {
SlowBuffer,
constants: {
MAX_STRING_LENGTH,
},
} = require('buffer');
const len = 1422561062959; const len = MAX_STRING_LENGTH + 1;
const message = { const message = {
code: 'ERR_INVALID_ARG_VALUE', code: 'ERR_STRING_TOO_LONG',
name: 'RangeError', name: 'Error',
message: /^The argument 'size' is invalid\. Received [^"]*$/
}; };
assert.throws(() => Buffer(len).toString('utf8'), message); assert.throws(() => Buffer(len).toString('utf8'), message);
assert.throws(() => SlowBuffer(len).toString('utf8'), message); assert.throws(() => SlowBuffer(len).toString('utf8'), message);

View file

@ -45,19 +45,19 @@ test([1, 2, 3], `
(index) Values (index) Values
0 1 0 1
1 2 1 2
2 3 2 3
`); `);
test([Symbol(), 5, [10]], ` test([Symbol(), 5, [10]], `
(index) 0 Values (index) 0 Values
0 Symbol() 0 Symbol()
1 5 1 5
2 10 2 10
`); `);
@ -65,46 +65,46 @@ test([null, 5], `
(index) Values (index) Values
0 null 0 null
1 5 1 5
`); `);
test([undefined, 5], ` test([undefined, 5], `
(index) Values (index) Values
0 undefined 0 undefined
1 5 1 5
`); `);
test({ a: 1, b: Symbol(), c: [10] }, ` test({ a: 1, b: Symbol(), c: [10] }, `
(index) 0 Values (index) 0 Values
a 1 a 1
b Symbol() b Symbol()
c 10 c 10
`); `);
test(new Map([ ['a', 1], [Symbol(), [2]] ]), ` test(new Map([ ['a', 1], [Symbol(), [2]] ]), `
(iteration index) Key Values (iteration index) Key Values
0 'a' 1 0 'a' 1
1 Symbol() [ 2 ] 1 Symbol() [ 2 ]
`); `);
test(new Set([1, 2, Symbol()]), ` test(new Set([1, 2, Symbol()]), `
(iteration index) Values (iteration index) Values
0 1 0 1
1 2 1 2
2 Symbol() 2 Symbol()
`); `);
@ -112,8 +112,8 @@ test({ a: 1, b: 2 }, ['a'], `
(index) a (index) a
a a
b b
`); `);
@ -121,8 +121,8 @@ test([{ a: 1, b: 2 }, { a: 3, c: 4 }], ['a'], `
(index) a (index) a
0 1 0 1
1 3 1 3
`); `);
@ -130,9 +130,9 @@ test(new Map([[1, 1], [2, 2], [3, 3]]).entries(), `
(iteration index) Key Values (iteration index) Key Values
0 1 1 0 1 1
1 2 2 1 2 2
2 3 3 2 3 3
`); `);
@ -140,9 +140,9 @@ test(new Map([[1, 1], [2, 2], [3, 3]]).values(), `
(iteration index) Values (iteration index) Values
0 1 0 1
1 2 1 2
2 3 2 3
`); `);
@ -150,9 +150,9 @@ test(new Map([[1, 1], [2, 2], [3, 3]]).keys(), `
(iteration index) Values (iteration index) Values
0 1 0 1
1 2 1 2
2 3 2 3
`); `);
@ -160,9 +160,9 @@ test(new Set([1, 2, 3]).values(), `
(iteration index) Values (iteration index) Values
0 1 0 1
1 2 1 2
2 3 2 3
`); `);
@ -171,15 +171,15 @@ test({ a: { a: 1, b: 2, c: 3 } }, `
(index) a b c (index) a b c
a 1 2 3 a 1 2 3
`); `);
test({ a: { a: { a: 1, b: 2, c: 3 } } }, ` test({ a: { a: { a: 1, b: 2, c: 3 } } }, `
(index) a (index) a
a [Object] a [Object]
`); `);
@ -187,7 +187,7 @@ test({ a: [1, 2] }, `
(index) 0 1 (index) 0 1
a 1 2 a 1 2
`); `);
@ -195,9 +195,9 @@ test({ a: [1, 2, 3, 4, 5], b: 5, c: { e: 5 } }, `
(index) 0 1 2 3 4 e Values (index) 0 1 2 3 4 e Values
a 1 2 3 4 5 a 1 2 3 4 5
b 5 b 5
c 5 c 5
`); `);
@ -205,9 +205,9 @@ test(new Uint8Array([1, 2, 3]), `
(index) Values (index) Values
0 1 0 1
1 2 1 2
2 3 2 3
`); `);
@ -215,9 +215,9 @@ test(Buffer.from([1, 2, 3]), `
(index) Values (index) Values
0 1 0 1
1 2 1 2
2 3 2 3
`); `);
@ -225,7 +225,7 @@ test({ a: undefined }, ['x'], `
(index) x (index) x
a a
`); `);
@ -245,23 +245,23 @@ test(new Map(), `
test([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ` test([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], `
(index) a b (index) a b
0 1 'Y' 0 1 'Y'
1 'Z' 2 1 'Z' 2
`); `);
{ {
const line = '─'.repeat(79); const line = '─'.repeat(79);
const header = `${' '.repeat(37)}name${' '.repeat(40)}`; const header = `name${' '.repeat(77)}`;
const name = 'very long long long long long long long long long long long ' + const name = 'very long long long long long long long long long long long ' +
'long long long long'; 'long long long long';
test([{ name }], ` test([{ name }], `
${line} ${line}
(index) ${header} (index) ${header}
${line} ${line}
0 '${name}' 0 '${name}'
${line} ${line}
`); `);
} }
@ -270,8 +270,8 @@ test({ foo: '¥', bar: '¥' }, `
(index) Values (index) Values
foo '¥' foo '¥'
bar '¥' bar '¥'
`); `);
@ -279,8 +279,8 @@ test({ foo: '你好', bar: 'hello' }, `
(index) Values (index) Values
foo '你好' foo '你好'
bar 'hello' bar 'hello'
`); `);
@ -292,8 +292,8 @@ test([{ foo: 10 }, { foo: 20 }], ['__proto__'], `
(index) __proto__ (index) __proto__
0 0
1 1
`); `);
assert.strictEqual('0' in Object.prototype, false); assert.strictEqual('0' in Object.prototype, false);

View file

@ -49,3 +49,10 @@ assert.ok(!dc.unsubscribe(name, subscriber));
assert.throws(() => { assert.throws(() => {
dc.subscribe(name, null); dc.subscribe(name, null);
}, { code: 'ERR_INVALID_ARG_TYPE' }); }, { code: 'ERR_INVALID_ARG_TYPE' });
// Reaching zero subscribers should not delete from the channels map as there
// will be no more weakref to incRef if another subscribe happens while the
// channel object itself exists.
channel.subscribe(subscriber);
channel.unsubscribe(subscriber);
channel.subscribe(subscriber);

View file

@ -15,7 +15,7 @@ const EE = new EventEmitter();
// Works as expected if the context has no `constructor.name` // Works as expected if the context has no `constructor.name`
{ {
const ctx = Object.create(null); const ctx = { __proto__: null };
assert.throws( assert.throws(
() => EE.emit.call(ctx, 'error', new Error('foo')), () => EE.emit.call(ctx, 'error', new Error('foo')),
common.expectsError({ name: 'Error', message: 'foo' }) common.expectsError({ name: 'Error', message: 'foo' })

View file

@ -32,7 +32,7 @@ EE.emit('error', theErr);
// Verify it works with once // Verify it works with once
process.nextTick(() => EE.emit('error', theErr)); process.nextTick(() => EE.emit('error', theErr));
assert.rejects(EventEmitter.once(EE, 'notTriggered'), theErr); assert.rejects(EventEmitter.once(EE, 'notTriggered'), theErr).then(common.mustCall());
// Only error events trigger error monitor // Only error events trigger error monitor
EE.on('aEvent', common.mustCall()); EE.on('aEvent', common.mustCall());

View file

@ -30,10 +30,9 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const fn = path.join(tmpdir.path, 'write.txt'); const fn = tmpdir.resolve('write.txt');
tmpdir.refresh(); tmpdir.refresh();
const file = fs.createWriteStream(fn, { const file = fs.createWriteStream(fn, {
highWaterMark: 10 highWaterMark: 10

View file

@ -30,13 +30,12 @@
require('../common'); require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const filepath = path.join(tmpdir.path, 'write.txt'); const filepath = tmpdir.resolve('write.txt');
const EXPECTED = '012345678910'; const EXPECTED = '012345678910';

View file

@ -29,13 +29,12 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const filepath = path.join(tmpdir.path, 'write_pos.txt'); const filepath = tmpdir.resolve('write_pos.txt');
const cb_expected = 'write open close write open close write open close '; const cb_expected = 'write open close write open close write open close ';

View file

@ -11,13 +11,12 @@
// Refs: https://github.com/nodejs/node/issues/31366 // Refs: https://github.com/nodejs/node/issues/31366
const common = require('../common'); const common = require('../common');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const filepath = path.join(tmpdir.path, 'write_pos.txt'); const filepath = tmpdir.resolve('write_pos.txt');
const fileReadStream = fs.createReadStream(process.execPath); const fileReadStream = fs.createReadStream(process.execPath);
const fileWriteStream = fs.createWriteStream(filepath, { const fileWriteStream = fs.createWriteStream(filepath, {

View file

@ -20,15 +20,14 @@ if (common.isIBMi)
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const { internalBinding } = require('internal/test/binding'); const { internalBinding } = require('internal/test/binding');
const { UV_ENOENT } = internalBinding('uv'); const { UV_ENOENT } = internalBinding('uv');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const doesNotExist = path.join(tmpdir.path, '__this_should_not_exist'); const doesNotExist = tmpdir.resolve('__this_should_not_exist');
const readOnlyFile = path.join(tmpdir.path, 'read_only_file'); const readOnlyFile = tmpdir.resolve('read_only_file');
const readWriteFile = path.join(tmpdir.path, 'read_write_file'); const readWriteFile = tmpdir.resolve('read_write_file');
function createFileWithPerms(file, mode) { function createFileWithPerms(file, mode) {
fs.writeFileSync(file, ''); fs.writeFileSync(file, '');
@ -71,10 +70,10 @@ if (!common.isWindows && process.getuid() === 0) {
} }
} }
assert.strictEqual(typeof fs.F_OK, 'number'); assert.strictEqual(typeof fs.constants.F_OK, 'number');
assert.strictEqual(typeof fs.R_OK, 'number'); assert.strictEqual(typeof fs.constants.R_OK, 'number');
assert.strictEqual(typeof fs.W_OK, 'number'); assert.strictEqual(typeof fs.constants.W_OK, 'number');
assert.strictEqual(typeof fs.X_OK, 'number'); assert.strictEqual(typeof fs.constants.X_OK, 'number');
const throwNextTick = (e) => { process.nextTick(() => { throw e; }); }; const throwNextTick = (e) => { process.nextTick(() => { throw e; }); };
@ -84,16 +83,16 @@ fs.access(__filename, common.mustCall(function(...args) {
fs.promises.access(__filename) fs.promises.access(__filename)
.then(common.mustCall()) .then(common.mustCall())
.catch(throwNextTick); .catch(throwNextTick);
fs.access(__filename, fs.R_OK, common.mustCall(function(...args) { fs.access(__filename, fs.constants.R_OK, common.mustCall(function(...args) {
assert.deepStrictEqual(args, [null]); assert.deepStrictEqual(args, [null]);
})); }));
fs.promises.access(__filename, fs.R_OK) fs.promises.access(__filename, fs.constants.R_OK)
.then(common.mustCall()) .then(common.mustCall())
.catch(throwNextTick); .catch(throwNextTick);
fs.access(readOnlyFile, fs.R_OK, common.mustCall(function(...args) { fs.access(readOnlyFile, fs.constants.R_OK, common.mustCall(function(...args) {
assert.deepStrictEqual(args, [null]); assert.deepStrictEqual(args, [null]);
})); }));
fs.promises.access(readOnlyFile, fs.R_OK) fs.promises.access(readOnlyFile, fs.constants.R_OK)
.then(common.mustCall()) .then(common.mustCall())
.catch(throwNextTick); .catch(throwNextTick);
@ -119,8 +118,8 @@ fs.promises.access(readOnlyFile, fs.R_OK)
assert.strictEqual(err.path, readOnlyFile); assert.strictEqual(err.path, readOnlyFile);
} }
} }
fs.access(readOnlyFile, fs.W_OK, common.mustCall(expectedError)); fs.access(readOnlyFile, fs.constants.W_OK, common.mustCall(expectedError));
fs.promises.access(readOnlyFile, fs.W_OK) fs.promises.access(readOnlyFile, fs.constants.W_OK)
.then(common.mustNotCall(), common.mustCall(expectedError)) .then(common.mustNotCall(), common.mustCall(expectedError))
.catch(throwNextTick); .catch(throwNextTick);
} }
@ -132,18 +131,18 @@ fs.promises.access(readOnlyFile, fs.R_OK)
return true; return true;
}; };
assert.throws( assert.throws(
() => { fs.access(100, fs.F_OK, common.mustNotCall()); }, () => { fs.access(100, fs.constants.F_OK, common.mustNotCall()); },
expectedError expectedError
); );
fs.promises.access(100, fs.F_OK) fs.promises.access(100, fs.constants.F_OK)
.then(common.mustNotCall(), common.mustCall(expectedError)) .then(common.mustNotCall(), common.mustCall(expectedError))
.catch(throwNextTick); .catch(throwNextTick);
} }
assert.throws( assert.throws(
() => { () => {
fs.access(__filename, fs.F_OK); fs.access(__filename, fs.constants.F_OK);
}, },
{ {
code: 'ERR_INVALID_ARG_TYPE', code: 'ERR_INVALID_ARG_TYPE',
@ -152,7 +151,7 @@ assert.throws(
assert.throws( assert.throws(
() => { () => {
fs.access(__filename, fs.F_OK, common.mustNotMutateObjectDeep({})); fs.access(__filename, fs.constants.F_OK, common.mustNotMutateObjectDeep({}));
}, },
{ {
code: 'ERR_INVALID_ARG_TYPE', code: 'ERR_INVALID_ARG_TYPE',
@ -161,14 +160,14 @@ assert.throws(
// Regular access should not throw. // Regular access should not throw.
fs.accessSync(__filename); fs.accessSync(__filename);
const mode = fs.R_OK | fs.W_OK; const mode = fs.constants.R_OK | fs.constants.W_OK;
fs.accessSync(readWriteFile, mode); fs.accessSync(readWriteFile, mode);
// Invalid modes should throw. // Invalid modes should throw.
[ [
false, false,
1n, 1n,
{ [Symbol.toPrimitive]() { return fs.R_OK; } }, { [Symbol.toPrimitive]() { return fs.constants.R_OK; } },
[1], [1],
'r', 'r',
].forEach((mode, i) => { ].forEach((mode, i) => {

View file

@ -29,7 +29,6 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const join = require('path').join;
const fs = require('fs'); const fs = require('fs');
const currentFileData = 'ABCD'; const currentFileData = 'ABCD';
@ -47,7 +46,7 @@ const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
// Test that empty file will be created and have content added. // Test that empty file will be created and have content added.
const filename = join(tmpdir.path, 'append-sync.txt'); const filename = tmpdir.resolve('append-sync.txt');
fs.appendFileSync(filename, data); fs.appendFileSync(filename, data);
@ -56,7 +55,7 @@ const fileData = fs.readFileSync(filename);
assert.strictEqual(Buffer.byteLength(data), fileData.length); assert.strictEqual(Buffer.byteLength(data), fileData.length);
// Test that appends data to a non empty file. // Test that appends data to a non empty file.
const filename2 = join(tmpdir.path, 'append-sync2.txt'); const filename2 = tmpdir.resolve('append-sync2.txt');
fs.writeFileSync(filename2, currentFileData); fs.writeFileSync(filename2, currentFileData);
fs.appendFileSync(filename2, data); fs.appendFileSync(filename2, data);
@ -67,7 +66,7 @@ assert.strictEqual(Buffer.byteLength(data) + currentFileData.length,
fileData2.length); fileData2.length);
// Test that appendFileSync accepts buffers. // Test that appendFileSync accepts buffers.
const filename3 = join(tmpdir.path, 'append-sync3.txt'); const filename3 = tmpdir.resolve('append-sync3.txt');
fs.writeFileSync(filename3, currentFileData); fs.writeFileSync(filename3, currentFileData);
const buf = Buffer.from(data, 'utf8'); const buf = Buffer.from(data, 'utf8');
@ -77,7 +76,7 @@ const fileData3 = fs.readFileSync(filename3);
assert.strictEqual(buf.length + currentFileData.length, fileData3.length); assert.strictEqual(buf.length + currentFileData.length, fileData3.length);
const filename4 = join(tmpdir.path, 'append-sync4.txt'); const filename4 = tmpdir.resolve('append-sync4.txt');
fs.writeFileSync(filename4, currentFileData, common.mustNotMutateObjectDeep({ mode: m })); fs.writeFileSync(filename4, currentFileData, common.mustNotMutateObjectDeep({ mode: m }));
[ [
@ -102,7 +101,7 @@ assert.strictEqual(Buffer.byteLength(String(num)) + currentFileData.length,
fileData4.length); fileData4.length);
// Test that appendFile accepts file descriptors. // Test that appendFile accepts file descriptors.
const filename5 = join(tmpdir.path, 'append-sync5.txt'); const filename5 = tmpdir.resolve('append-sync5.txt');
fs.writeFileSync(filename5, currentFileData); fs.writeFileSync(filename5, currentFileData);
const filename5fd = fs.openSync(filename5, 'a+', 0o600); const filename5fd = fs.openSync(filename5, 'a+', 0o600);

View file

@ -17,9 +17,8 @@ const {
UV_ENOENT, UV_ENOENT,
UV_EEXIST UV_EEXIST
} = internalBinding('uv'); } = internalBinding('uv');
const path = require('path');
const src = fixtures.path('a.js'); const src = fixtures.path('a.js');
const dest = path.join(tmpdir.path, 'copyfile.out'); const dest = tmpdir.resolve('copyfile.out');
const { const {
COPYFILE_EXCL, COPYFILE_EXCL,
COPYFILE_FICLONE, COPYFILE_FICLONE,

View file

@ -34,7 +34,6 @@ const fixtures = require('../common/fixtures');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
// 0 if not found in fs.constants // 0 if not found in fs.constants
const { O_APPEND = 0, const { O_APPEND = 0,
@ -93,7 +92,7 @@ assert.throws(
if (common.isLinux || common.isOSX) { if (common.isLinux || common.isOSX) {
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const file = path.join(tmpdir.path, 'a.js'); const file = tmpdir.resolve('a.js');
fs.copyFileSync(fixtures.path('a.js'), file); fs.copyFileSync(fixtures.path('a.js'), file);
fs.open(file, O_DSYNC, common.mustSucceed((fd) => { fs.open(file, O_DSYNC, common.mustSucceed((fd) => {
fs.closeSync(fd); fs.closeSync(fd);

View file

@ -11,7 +11,6 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const mode = common.isWindows ? 0o444 : 0o644; const mode = common.isWindows ? 0o444 : 0o644;
@ -27,7 +26,7 @@ function test(mode, asString) {
(mode | maskToIgnore).toString(8) : (mode | maskToIgnore); (mode | maskToIgnore).toString(8) : (mode | maskToIgnore);
{ {
const file = path.join(tmpdir.path, `openSync-${suffix}.txt`); const file = tmpdir.resolve(`openSync-${suffix}.txt`);
const fd = fs.openSync(file, 'w+', input); const fd = fs.openSync(file, 'w+', input);
assert.strictEqual(fs.fstatSync(fd).mode & 0o777, mode); assert.strictEqual(fs.fstatSync(fd).mode & 0o777, mode);
fs.closeSync(fd); fs.closeSync(fd);
@ -35,7 +34,7 @@ function test(mode, asString) {
} }
{ {
const file = path.join(tmpdir.path, `open-${suffix}.txt`); const file = tmpdir.resolve(`open-${suffix}.txt`);
fs.open(file, 'w+', input, common.mustSucceed((fd) => { fs.open(file, 'w+', input, common.mustSucceed((fd) => {
assert.strictEqual(fs.fstatSync(fd).mode & 0o777, mode); assert.strictEqual(fs.fstatSync(fd).mode & 0o777, mode);
fs.closeSync(fd); fs.closeSync(fd);

View file

@ -10,13 +10,12 @@ require('../common');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
// O_WRONLY without O_CREAT shall fail with ENOENT // O_WRONLY without O_CREAT shall fail with ENOENT
const pathNE = path.join(tmpdir.path, 'file-should-not-exist'); const pathNE = tmpdir.resolve('file-should-not-exist');
assert.throws( assert.throws(
() => fs.openSync(pathNE, fs.constants.O_WRONLY), () => fs.openSync(pathNE, fs.constants.O_WRONLY),
(e) => e.code === 'ENOENT' (e) => e.code === 'ENOENT'

View file

@ -9,10 +9,9 @@
const common = require('../common'); const common = require('../common');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const assert = require('assert'); const assert = require('assert');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const writeFile = path.join(tmpdir.path, 'write-autoClose.txt'); const writeFile = tmpdir.resolve('write-autoClose.txt');
tmpdir.refresh(); tmpdir.refresh();
const file = fs.createWriteStream(writeFile, { autoClose: true }); const file = fs.createWriteStream(writeFile, { autoClose: true });

View file

@ -30,9 +30,8 @@
const common = require('../common'); const common = require('../common');
const fs = require('fs'); const fs = require('fs');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const file = path.join(tmpdir.path, '/read_stream_fd_test.txt'); const file = tmpdir.resolve('read_stream_fd_test.txt');
const input = 'hello world'; const input = 'hello world';
let output = ''; let output = '';

View file

@ -57,7 +57,7 @@ const rangeFile = fixtures.path('x.txt');
} }
{ {
const file = fs.createReadStream(fn, Object.create({ encoding: 'utf8' })); const file = fs.createReadStream(fn, { __proto__: { encoding: 'utf8' } });
file.length = 0; file.length = 0;
file.on('data', function(data) { file.on('data', function(data) {
assert.strictEqual(typeof data, 'string'); assert.strictEqual(typeof data, 'string');
@ -75,7 +75,7 @@ const rangeFile = fixtures.path('x.txt');
} }
{ {
const options = Object.create({ bufferSize: 1, start: 1, end: 2 }); const options = { __proto__: { bufferSize: 1, start: 1, end: 2 } };
const file = fs.createReadStream(rangeFile, options); const file = fs.createReadStream(rangeFile, options);
assert.strictEqual(file.start, 1); assert.strictEqual(file.start, 1);
assert.strictEqual(file.end, 2); assert.strictEqual(file.end, 2);
@ -89,7 +89,7 @@ const rangeFile = fixtures.path('x.txt');
} }
{ {
const options = Object.create({ bufferSize: 1, start: 1 }); const options = { __proto__: { bufferSize: 1, start: 1 } };
const file = fs.createReadStream(rangeFile, options); const file = fs.createReadStream(rangeFile, options);
assert.strictEqual(file.start, 1); assert.strictEqual(file.start, 1);
file.data = ''; file.data = '';
@ -103,7 +103,7 @@ const rangeFile = fixtures.path('x.txt');
// https://github.com/joyent/node/issues/2320 // https://github.com/joyent/node/issues/2320
{ {
const options = Object.create({ bufferSize: 1.23, start: 1 }); const options = { __proto__: { bufferSize: 1.23, start: 1 } };
const file = fs.createReadStream(rangeFile, options); const file = fs.createReadStream(rangeFile, options);
assert.strictEqual(file.start, 1); assert.strictEqual(file.start, 1);
file.data = ''; file.data = '';
@ -122,7 +122,7 @@ const rangeFile = fixtures.path('x.txt');
assert.throws( assert.throws(
() => { () => {
fs.createReadStream(rangeFile, Object.create({ start: 10, end: 2 })); fs.createReadStream(rangeFile, { __proto__: { start: 10, end: 2 } });
}, },
{ {
code: 'ERR_OUT_OF_RANGE', code: 'ERR_OUT_OF_RANGE',
@ -132,7 +132,7 @@ const rangeFile = fixtures.path('x.txt');
} }
{ {
const options = Object.create({ start: 0, end: 0 }); const options = { __proto__: { start: 0, end: 0 } };
const stream = fs.createReadStream(rangeFile, options); const stream = fs.createReadStream(rangeFile, options);
assert.strictEqual(stream.start, 0); assert.strictEqual(stream.start, 0);
assert.strictEqual(stream.end, 0); assert.strictEqual(stream.end, 0);
@ -157,7 +157,7 @@ const rangeFile = fixtures.path('x.txt');
{ {
let data = ''; let data = '';
let file = let file =
fs.createReadStream(rangeFile, Object.create({ autoClose: false })); fs.createReadStream(rangeFile, { __proto__: { autoClose: false } });
assert.strictEqual(file.autoClose, false); assert.strictEqual(file.autoClose, false);
file.on('data', (chunk) => { data += chunk; }); file.on('data', (chunk) => { data += chunk; });
file.on('end', common.mustCall(function() { file.on('end', common.mustCall(function() {
@ -171,7 +171,7 @@ const rangeFile = fixtures.path('x.txt');
function fileNext() { function fileNext() {
// This will tell us if the fd is usable again or not. // This will tell us if the fd is usable again or not.
file = fs.createReadStream(null, Object.create({ fd: file.fd, start: 0 })); file = fs.createReadStream(null, { __proto__: { fd: file.fd, start: 0 } });
file.data = ''; file.data = '';
file.on('data', function(data) { file.on('data', function(data) {
file.data += data; file.data += data;
@ -188,7 +188,7 @@ const rangeFile = fixtures.path('x.txt');
// Just to make sure autoClose won't close the stream because of error. // Just to make sure autoClose won't close the stream because of error.
{ {
const options = Object.create({ fd: 13337, autoClose: false }); const options = { __proto__: { fd: 13337, autoClose: false } };
const file = fs.createReadStream(null, options); const file = fs.createReadStream(null, options);
file.on('data', common.mustNotCall()); file.on('data', common.mustNotCall());
file.on('error', common.mustCall()); file.on('error', common.mustCall());

View file

@ -86,7 +86,7 @@ assert.throws(
assert.throws( assert.throws(
() => fs.read(fd, { buffer: null }, common.mustNotCall()), () => fs.read(fd, { buffer: null }, common.mustNotCall()),
/TypeError: Cannot read properties of null \(reading 'byteLength'\)/, { code: 'ERR_INVALID_ARG_TYPE' },
'throws when options.buffer is null' 'throws when options.buffer is null'
); );

View file

@ -10,7 +10,6 @@
require('../common'); require('../common');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
@ -20,7 +19,7 @@ const expected = 'ümlaut. Лорем 運務ホソモ指及 आपको कर
const exptectedBuff = Buffer.from(expected); const exptectedBuff = Buffer.from(expected);
const expectedLength = exptectedBuff.length; const expectedLength = exptectedBuff.length;
const filename = path.join(tmpdir.path, 'readv_sync.txt'); const filename = tmpdir.resolve('readv_sync.txt');
fs.writeFileSync(filename, exptectedBuff); fs.writeFileSync(filename, exptectedBuff);
const allocateEmptyBuffers = (combinedLength) => { const allocateEmptyBuffers = (combinedLength) => {

View file

@ -9,7 +9,6 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
@ -18,7 +17,7 @@ tmpdir.refresh();
const expected = 'ümlaut. Лорем 運務ホソモ指及 आपको करने विकास 紙読決多密所 أضف'; const expected = 'ümlaut. Лорем 運務ホソモ指及 आपको करने विकास 紙読決多密所 أضف';
let cnt = 0; let cnt = 0;
const getFileName = () => path.join(tmpdir.path, `readv_${++cnt}.txt`); const getFileName = () => tmpdir.resolve(`readv_${++cnt}.txt`);
const exptectedBuff = Buffer.from(expected); const exptectedBuff = Buffer.from(expected);
const allocateEmptyBuffers = (combinedLength) => { const allocateEmptyBuffers = (combinedLength) => {

View file

@ -10,7 +10,6 @@ const common = require('../common');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
tmpdir.refresh(); tmpdir.refresh();
@ -23,7 +22,7 @@ tmpdir.refresh();
'DEP0147' 'DEP0147'
); );
assert.throws( assert.throws(
() => fs.rmdirSync(path.join(tmpdir.path, 'noexist.txt'), () => fs.rmdirSync(tmpdir.resolve('noexist.txt'),
{ recursive: true }), { recursive: true }),
{ code: 'ENOENT' } { code: 'ENOENT' }
); );

View file

@ -10,7 +10,6 @@ const common = require('../common');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
tmpdir.refresh(); tmpdir.refresh();
@ -21,7 +20,7 @@ tmpdir.refresh();
'will be removed. Use fs.rm(path, { recursive: true }) instead', 'will be removed. Use fs.rm(path, { recursive: true }) instead',
'DEP0147' 'DEP0147'
); );
const filePath = path.join(tmpdir.path, 'rmdir-recursive.txt'); const filePath = tmpdir.resolve('rmdir-recursive.txt');
fs.writeFileSync(filePath, ''); fs.writeFileSync(filePath, '');
assert.throws( assert.throws(
() => fs.rmdirSync(filePath, { recursive: true }), () => fs.rmdirSync(filePath, { recursive: true }),

View file

@ -10,14 +10,13 @@ const common = require('../common');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
tmpdir.refresh(); tmpdir.refresh();
{ {
assert.throws( assert.throws(
() => () =>
fs.rmdirSync(path.join(tmpdir.path, 'noexist.txt'), { recursive: true }), fs.rmdirSync(tmpdir.resolve('noexist.txt'), { recursive: true }),
{ {
code: 'ENOENT', code: 'ENOENT',
} }
@ -25,7 +24,7 @@ tmpdir.refresh();
} }
{ {
fs.rmdir( fs.rmdir(
path.join(tmpdir.path, 'noexist.txt'), tmpdir.resolve('noexist.txt'),
{ recursive: true }, { recursive: true },
common.mustCall((err) => { common.mustCall((err) => {
assert.strictEqual(err.code, 'ENOENT'); assert.strictEqual(err.code, 'ENOENT');
@ -34,7 +33,7 @@ tmpdir.refresh();
} }
{ {
assert.rejects( assert.rejects(
() => fs.promises.rmdir(path.join(tmpdir.path, 'noexist.txt'), () => fs.promises.rmdir(tmpdir.resolve('noexist.txt'),
{ recursive: true }), { recursive: true }),
{ {
code: 'ENOENT', code: 'ENOENT',

View file

@ -10,26 +10,25 @@ const common = require('../common');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
tmpdir.refresh(); tmpdir.refresh();
const code = common.isWindows ? 'ENOENT' : 'ENOTDIR'; const code = common.isWindows ? 'ENOENT' : 'ENOTDIR';
{ {
const filePath = path.join(tmpdir.path, 'rmdir-recursive.txt'); const filePath = tmpdir.resolve('rmdir-recursive.txt');
fs.writeFileSync(filePath, ''); fs.writeFileSync(filePath, '');
assert.throws(() => fs.rmdirSync(filePath, { recursive: true }), { code }); assert.throws(() => fs.rmdirSync(filePath, { recursive: true }), { code });
} }
{ {
const filePath = path.join(tmpdir.path, 'rmdir-recursive.txt'); const filePath = tmpdir.resolve('rmdir-recursive.txt');
fs.writeFileSync(filePath, ''); fs.writeFileSync(filePath, '');
fs.rmdir(filePath, { recursive: true }, common.mustCall((err) => { fs.rmdir(filePath, { recursive: true }, common.mustCall((err) => {
assert.strictEqual(err.code, code); assert.strictEqual(err.code, code);
})); }));
} }
{ {
const filePath = path.join(tmpdir.path, 'rmdir-recursive.txt'); const filePath = tmpdir.resolve('rmdir-recursive.txt');
fs.writeFileSync(filePath, ''); fs.writeFileSync(filePath, '');
assert.rejects(() => fs.promises.rmdir(filePath, { recursive: true }), assert.rejects(() => fs.promises.rmdir(filePath, { recursive: true }),
{ code }).then(common.mustCall()); { code }).then(common.mustCall());

View file

@ -9,7 +9,6 @@
const common = require('../common'); const common = require('../common');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
tmpdir.refresh(); tmpdir.refresh();
@ -22,7 +21,7 @@ tmpdir.refresh();
'DEP0147' 'DEP0147'
); );
fs.rmdir( fs.rmdir(
path.join(tmpdir.path, 'noexist.txt'), tmpdir.resolve('noexist.txt'),
{ recursive: true }, { recursive: true },
common.mustCall() common.mustCall()
); );

View file

@ -10,7 +10,6 @@ const common = require('../common');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
tmpdir.refresh(); tmpdir.refresh();
@ -21,7 +20,7 @@ tmpdir.refresh();
'will be removed. Use fs.rm(path, { recursive: true }) instead', 'will be removed. Use fs.rm(path, { recursive: true }) instead',
'DEP0147' 'DEP0147'
); );
const filePath = path.join(tmpdir.path, 'rmdir-recursive.txt'); const filePath = tmpdir.resolve('rmdir-recursive.txt');
fs.writeFileSync(filePath, ''); fs.writeFileSync(filePath, '');
fs.rmdir(filePath, { recursive: true }, common.mustCall((err) => { fs.rmdir(filePath, { recursive: true }, common.mustCall((err) => {
assert.strictEqual(err.code, common.isWindows ? 'ENOENT' : 'ENOTDIR'); assert.strictEqual(err.code, common.isWindows ? 'ENOENT' : 'ENOTDIR');

View file

@ -37,7 +37,7 @@ assert.throws(() => {
fs.watchFile(new Object(), common.mustNotCall()); fs.watchFile(new Object(), common.mustNotCall());
}, { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' }); }, { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' });
const enoentFile = path.join(tmpdir.path, 'non-existent-file'); const enoentFile = tmpdir.resolve('non-existent-file');
const expectedStatObject = new fs.Stats( const expectedStatObject = new fs.Stats(
0, // dev 0, // dev
0, // mode 0, // mode
@ -92,14 +92,14 @@ watcher.on('stop', common.mustCall());
// Watch events should callback with a filename on supported systems. // Watch events should callback with a filename on supported systems.
// Omitting AIX. It works but not reliably. // Omitting AIX. It works but not reliably.
if (common.isLinux || common.isOSX || common.isWindows) { if (common.isLinux || common.isOSX || common.isWindows) {
const dir = path.join(tmpdir.path, 'watch'); const dir = tmpdir.resolve('watch');
fs.mkdir(dir, common.mustCall(function(err) { fs.mkdir(dir, common.mustCall(function(err) {
if (err) assert.fail(err); if (err) assert.fail(err);
fs.watch(dir, common.mustCall(function(eventType, filename) { const handle = fs.watch(dir, common.mustCall(function(eventType, filename) {
clearInterval(interval); clearInterval(interval);
this._handle.close(); handle.close();
assert.strictEqual(filename, 'foo.txt'); assert.strictEqual(filename, 'foo.txt');
})); }));

View file

@ -29,7 +29,6 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const expected = Buffer.from('hello'); const expected = Buffer.from('hello');
@ -38,7 +37,7 @@ tmpdir.refresh();
// fs.write with all parameters provided: // fs.write with all parameters provided:
{ {
const filename = path.join(tmpdir.path, 'write1.txt'); const filename = tmpdir.resolve('write1.txt');
fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => { fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => {
const cb = common.mustSucceed((written) => { const cb = common.mustSucceed((written) => {
assert.strictEqual(written, expected.length); assert.strictEqual(written, expected.length);
@ -54,7 +53,7 @@ tmpdir.refresh();
// fs.write with a buffer, without the length parameter: // fs.write with a buffer, without the length parameter:
{ {
const filename = path.join(tmpdir.path, 'write2.txt'); const filename = tmpdir.resolve('write2.txt');
fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => { fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => {
const cb = common.mustSucceed((written) => { const cb = common.mustSucceed((written) => {
assert.strictEqual(written, 2); assert.strictEqual(written, 2);
@ -70,7 +69,7 @@ tmpdir.refresh();
// fs.write with a buffer, without the offset and length parameters: // fs.write with a buffer, without the offset and length parameters:
{ {
const filename = path.join(tmpdir.path, 'write3.txt'); const filename = tmpdir.resolve('write3.txt');
fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => { fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => {
const cb = common.mustSucceed((written) => { const cb = common.mustSucceed((written) => {
assert.strictEqual(written, expected.length); assert.strictEqual(written, expected.length);
@ -86,7 +85,7 @@ tmpdir.refresh();
// fs.write with the offset passed as undefined followed by the callback: // fs.write with the offset passed as undefined followed by the callback:
{ {
const filename = path.join(tmpdir.path, 'write4.txt'); const filename = tmpdir.resolve('write4.txt');
fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => { fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => {
const cb = common.mustSucceed((written) => { const cb = common.mustSucceed((written) => {
assert.strictEqual(written, expected.length); assert.strictEqual(written, expected.length);
@ -102,7 +101,7 @@ tmpdir.refresh();
// fs.write with offset and length passed as undefined followed by the callback: // fs.write with offset and length passed as undefined followed by the callback:
{ {
const filename = path.join(tmpdir.path, 'write5.txt'); const filename = tmpdir.resolve('write5.txt');
fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => { fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => {
const cb = common.mustSucceed((written) => { const cb = common.mustSucceed((written) => {
assert.strictEqual(written, expected.length); assert.strictEqual(written, expected.length);
@ -118,7 +117,7 @@ tmpdir.refresh();
// fs.write with a Uint8Array, without the offset and length parameters: // fs.write with a Uint8Array, without the offset and length parameters:
{ {
const filename = path.join(tmpdir.path, 'write6.txt'); const filename = tmpdir.resolve('write6.txt');
fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => { fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => {
const cb = common.mustSucceed((written) => { const cb = common.mustSucceed((written) => {
assert.strictEqual(written, expected.length); assert.strictEqual(written, expected.length);
@ -134,7 +133,7 @@ tmpdir.refresh();
// fs.write with invalid offset type // fs.write with invalid offset type
{ {
const filename = path.join(tmpdir.path, 'write7.txt'); const filename = tmpdir.resolve('write7.txt');
fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => { fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => {
assert.throws(() => { assert.throws(() => {
fs.write(fd, fs.write(fd,
@ -156,7 +155,7 @@ tmpdir.refresh();
// fs.write with a DataView, without the offset and length parameters: // fs.write with a DataView, without the offset and length parameters:
{ {
const filename = path.join(tmpdir.path, 'write8.txt'); const filename = tmpdir.resolve('write8.txt');
fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => { fs.open(filename, 'w', 0o644, common.mustSucceed((fd) => {
const cb = common.mustSucceed((written) => { const cb = common.mustSucceed((written) => {
assert.strictEqual(written, expected.length); assert.strictEqual(written, expected.length);

View file

@ -28,7 +28,6 @@
'use strict'; 'use strict';
require('../common'); require('../common');
const join = require('path').join;
const util = require('util'); const util = require('util');
const fs = require('fs'); const fs = require('fs');
@ -57,6 +56,6 @@ const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const buf = Buffer.from(data, 'base64'); const buf = Buffer.from(data, 'base64');
fs.writeFileSync(join(tmpdir.path, 'test.jpg'), buf); fs.writeFileSync(tmpdir.resolve('test.jpg'), buf);
util.log('Done!'); util.log('Done!');

View file

@ -10,7 +10,6 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
if (!common.isWindows) if (!common.isWindows)
common.skip('This test is for Windows only.'); common.skip('This test is for Windows only.');
@ -25,7 +24,7 @@ const DATA_VALUE = 'hello';
const RESERVED_CHARACTERS = '<>"|?*'; const RESERVED_CHARACTERS = '<>"|?*';
[...RESERVED_CHARACTERS].forEach((ch) => { [...RESERVED_CHARACTERS].forEach((ch) => {
const pathname = path.join(tmpdir.path, `somefile_${ch}`); const pathname = tmpdir.resolve(`somefile_${ch}`);
assert.throws( assert.throws(
() => { () => {
fs.writeFileSync(pathname, DATA_VALUE); fs.writeFileSync(pathname, DATA_VALUE);
@ -36,7 +35,7 @@ const RESERVED_CHARACTERS = '<>"|?*';
// Test for ':' (NTFS data streams). // Test for ':' (NTFS data streams).
// Refs: https://msdn.microsoft.com/en-us/library/windows/desktop/bb540537.aspx // Refs: https://msdn.microsoft.com/en-us/library/windows/desktop/bb540537.aspx
const pathname = path.join(tmpdir.path, 'foo:bar'); const pathname = tmpdir.resolve('foo:bar');
fs.writeFileSync(pathname, DATA_VALUE); fs.writeFileSync(pathname, DATA_VALUE);
let content = ''; let content = '';

View file

@ -33,7 +33,6 @@ if (!common.isMainThread)
common.skip('Setting process.umask is not supported in Workers'); common.skip('Setting process.umask is not supported in Workers');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
// On Windows chmod is only able to manipulate read-only bit. Test if creating // On Windows chmod is only able to manipulate read-only bit. Test if creating
@ -48,7 +47,7 @@ tmpdir.refresh();
// Test writeFileSync // Test writeFileSync
{ {
const file = path.join(tmpdir.path, 'testWriteFileSync.txt'); const file = tmpdir.resolve('testWriteFileSync.txt');
fs.writeFileSync(file, '123', { mode }); fs.writeFileSync(file, '123', { mode });
const content = fs.readFileSync(file, { encoding: 'utf8' }); const content = fs.readFileSync(file, { encoding: 'utf8' });
@ -58,7 +57,7 @@ tmpdir.refresh();
// Test appendFileSync // Test appendFileSync
{ {
const file = path.join(tmpdir.path, 'testAppendFileSync.txt'); const file = tmpdir.resolve('testAppendFileSync.txt');
fs.appendFileSync(file, 'abc', { mode }); fs.appendFileSync(file, 'abc', { mode });
const content = fs.readFileSync(file, { encoding: 'utf8' }); const content = fs.readFileSync(file, { encoding: 'utf8' });
@ -84,7 +83,7 @@ tmpdir.refresh();
return _closeSync(...args); return _closeSync(...args);
}; };
const file = path.join(tmpdir.path, 'testWriteFileSyncFd.txt'); const file = tmpdir.resolve('testWriteFileSyncFd.txt');
const fd = fs.openSync(file, 'w+', mode); const fd = fs.openSync(file, 'w+', mode);
fs.writeFileSync(fd, '123'); fs.writeFileSync(fd, '123');
@ -101,7 +100,7 @@ tmpdir.refresh();
// Test writeFileSync with flags // Test writeFileSync with flags
{ {
const file = path.join(tmpdir.path, 'testWriteFileSyncFlags.txt'); const file = tmpdir.resolve('testWriteFileSyncFlags.txt');
fs.writeFileSync(file, 'hello ', { encoding: 'utf8', flag: 'a' }); fs.writeFileSync(file, 'hello ', { encoding: 'utf8', flag: 'a' });
fs.writeFileSync(file, 'world!', { encoding: 'utf8', flag: 'a' }); fs.writeFileSync(file, 'world!', { encoding: 'utf8', flag: 'a' });
@ -109,20 +108,36 @@ tmpdir.refresh();
assert.strictEqual(content, 'hello world!'); assert.strictEqual(content, 'hello world!');
} }
// Test writeFileSync with an object with an own toString function // Test writeFileSync with no flags
{ {
// Runtime deprecated by DEP0162 const utf8Data = 'hello world!';
common.expectWarning('DeprecationWarning', for (const test of [
'Implicit coercion of objects with own toString property is deprecated.', { data: utf8Data },
'DEP0162'); { data: utf8Data, options: { encoding: 'utf8' } },
const file = path.join(tmpdir.path, 'testWriteFileSyncStringify.txt'); { data: Buffer.from(utf8Data, 'utf8').toString('hex'), options: { encoding: 'hex' } },
const data = { ]) {
toString() { const file = tmpdir.resolve(`testWriteFileSyncNewFile_${Math.random()}.txt`);
return 'hello world!'; fs.writeFileSync(file, test.data, test.options);
}
};
fs.writeFileSync(file, data, { encoding: 'utf8', flag: 'a' }); const content = fs.readFileSync(file, { encoding: 'utf-8' });
const content = fs.readFileSync(file, { encoding: 'utf8' }); assert.strictEqual(content, utf8Data);
assert.strictEqual(content, String(data)); }
}
// Test writeFileSync with an invalid input
{
const file = tmpdir.resolve('testWriteFileSyncInvalid.txt');
for (const data of [
false, 5, {}, [], null, undefined, true, 5n, () => {}, Symbol(), new Map(),
new String('notPrimitive'),
{ [Symbol.toPrimitive]: (hint) => 'amObject' },
{ toString() { return 'amObject'; } },
Promise.resolve('amPromise'),
common.mustNotCall(),
]) {
assert.throws(
() => fs.writeFileSync(file, data, { encoding: 'utf8', flag: 'a' }),
{ code: 'ERR_INVALID_ARG_TYPE' }
);
}
} }

View file

@ -8,12 +8,11 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const file = path.join(tmpdir.path, 'write-autoclose-opt1.txt'); const file = tmpdir.resolve('write-autoclose-opt1.txt');
tmpdir.refresh(); tmpdir.refresh();
let stream = fs.createWriteStream(file, { flags: 'w+', autoClose: false }); let stream = fs.createWriteStream(file, { flags: 'w+', autoClose: false });
stream.write('Test1'); stream.write('Test1');

View file

@ -9,12 +9,11 @@
require('../common'); require('../common');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const s = fs.createWriteStream(path.join(tmpdir.path, 'nocallback')); const s = fs.createWriteStream(tmpdir.resolve('nocallback'));
s.end('hello world'); s.end('hello world');
s.close(); s.close();

View file

@ -10,20 +10,19 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
{ {
const s = fs.createWriteStream(path.join(tmpdir.path, 'rw')); const s = fs.createWriteStream(tmpdir.resolve('rw'));
s.close(common.mustCall()); s.close(common.mustCall());
s.close(common.mustCall()); s.close(common.mustCall());
} }
{ {
const s = fs.createWriteStream(path.join(tmpdir.path, 'rw2')); const s = fs.createWriteStream(tmpdir.resolve('rw2'));
let emits = 0; let emits = 0;
s.on('close', () => { s.on('close', () => {
@ -44,7 +43,7 @@ tmpdir.refresh();
} }
{ {
const s = fs.createWriteStream(path.join(tmpdir.path, 'rw'), { const s = fs.createWriteStream(tmpdir.resolve('rw'), {
autoClose: false autoClose: false
}); });

View file

@ -29,21 +29,20 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
{ {
const file = path.join(tmpdir.path, 'write-end-test0.txt'); const file = tmpdir.resolve('write-end-test0.txt');
const stream = fs.createWriteStream(file); const stream = fs.createWriteStream(file);
stream.end(); stream.end();
stream.on('close', common.mustCall()); stream.on('close', common.mustCall());
} }
{ {
const file = path.join(tmpdir.path, 'write-end-test1.txt'); const file = tmpdir.resolve('write-end-test1.txt');
const stream = fs.createWriteStream(file); const stream = fs.createWriteStream(file);
stream.end('a\n', 'utf8'); stream.end('a\n', 'utf8');
stream.on('close', common.mustCall(function() { stream.on('close', common.mustCall(function() {
@ -53,7 +52,7 @@ tmpdir.refresh();
} }
{ {
const file = path.join(tmpdir.path, 'write-end-test2.txt'); const file = tmpdir.resolve('write-end-test2.txt');
const stream = fs.createWriteStream(file); const stream = fs.createWriteStream(file);
stream.end(); stream.end();

View file

@ -7,14 +7,13 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
{ {
const file = path.join(tmpdir.path, 'write-end-test0.txt'); const file = tmpdir.resolve('write-end-test0.txt');
const stream = fs.createWriteStream(file, { const stream = fs.createWriteStream(file, {
fs: { fs: {
open: common.mustCall(fs.open), open: common.mustCall(fs.open),
@ -28,7 +27,7 @@ tmpdir.refresh();
{ {
const file = path.join(tmpdir.path, 'write-end-test1.txt'); const file = tmpdir.resolve('write-end-test1.txt');
const stream = fs.createWriteStream(file, { const stream = fs.createWriteStream(file, {
fs: { fs: {
open: common.mustCall(fs.open), open: common.mustCall(fs.open),

View file

@ -9,11 +9,10 @@
require('../common'); require('../common');
const assert = require('assert'); const assert = require('assert');
const fs = require('fs'); const fs = require('fs');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const example = path.join(tmpdir.path, 'dummy'); const example = tmpdir.resolve('dummy');
tmpdir.refresh(); tmpdir.refresh();
// Should not throw. // Should not throw.

View file

@ -29,12 +29,11 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const file = path.join(tmpdir.path, 'write.txt'); const file = tmpdir.resolve('write.txt');
tmpdir.refresh(); tmpdir.refresh();

View file

@ -29,10 +29,9 @@
'use strict'; 'use strict';
require('../common'); require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const filename = path.join(tmpdir.path, 'write.txt'); const filename = tmpdir.resolve('write.txt');
tmpdir.refresh(); tmpdir.refresh();

View file

@ -2,8 +2,8 @@
// deno-lint-ignore-file // deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license. // Copyright Joyent and Node contributors. All rights reserved. MIT license.
// Taken from Node 16.13.0 // Taken from Node 18.12.1
// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually // This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually.
// Copyright Joyent, Inc. and other Node contributors. // Copyright Joyent, Inc. and other Node contributors.
// //
@ -30,17 +30,15 @@
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
tmpdir.refresh(); tmpdir.refresh();
const fn = path.join(tmpdir.path, 'write.txt'); const fn = tmpdir.resolve('write.txt');
const fn2 = path.join(tmpdir.path, 'write2.txt'); const fn2 = tmpdir.resolve('write2.txt');
const fn3 = path.join(tmpdir.path, 'write3.txt'); const fn3 = tmpdir.resolve('write3.txt');
const fn4 = path.join(tmpdir.path, 'write4.txt'); const fn4 = tmpdir.resolve('write4.txt');
const fn5 = path.join(tmpdir.path, 'write5.txt');
const expected = 'ümlaut.'; const expected = 'ümlaut.';
const constants = fs.constants; const constants = fs.constants;
@ -106,9 +104,6 @@ fs.open(fn, 'w', 0o644, common.mustSucceed((fd) => {
fs.write(fd, '', 0, 'utf8', written); fs.write(fd, '', 0, 'utf8', written);
})); }));
// TODO(kt3k): Enable this test when fs.open supports number for `flags`
// paramter.
/*
const args = constants.O_CREAT | constants.O_WRONLY | constants.O_TRUNC; const args = constants.O_CREAT | constants.O_WRONLY | constants.O_TRUNC;
fs.open(fn2, args, 0o644, common.mustSucceed((fd) => { fs.open(fn2, args, 0o644, common.mustSucceed((fd) => {
const done = common.mustSucceed((written) => { const done = common.mustSucceed((written) => {
@ -126,7 +121,6 @@ fs.open(fn2, args, 0o644, common.mustSucceed((fd) => {
fs.write(fd, '', 0, 'utf8', written); fs.write(fd, '', 0, 'utf8', written);
})); }));
*/
fs.open(fn3, 'w', 0o644, common.mustSucceed((fd) => { fs.open(fn3, 'w', 0o644, common.mustSucceed((fd) => {
const done = common.mustSucceed((written) => { const done = common.mustSucceed((written) => {
@ -137,17 +131,6 @@ fs.open(fn3, 'w', 0o644, common.mustSucceed((fd) => {
fs.write(fd, expected, done); fs.write(fd, expected, done);
})); }));
fs.open(fn4, 'w', 0o644, common.mustSucceed((fd) => {
const done = common.mustSucceed((written) => {
assert.strictEqual(written, Buffer.byteLength(expected));
fs.closeSync(fd);
});
const data = {
toString() { return expected; }
};
fs.write(fd, data, done);
}));
[false, 'test', {}, [], null, undefined].forEach((i) => { [false, 'test', {}, [], null, undefined].forEach((i) => {
assert.throws( assert.throws(
@ -166,7 +149,14 @@ fs.open(fn4, 'w', 0o644, common.mustSucceed((fd) => {
); );
}); });
[false, 5, {}, [], null, undefined].forEach((data) => { [
false, 5, {}, [], null, undefined, true, 5n, () => {}, Symbol(), new Map(),
new String('notPrimitive'),
{ [Symbol.toPrimitive]: (hint) => 'amObject' },
{ toString() { return 'amObject'; } },
Promise.resolve('amPromise'),
common.mustNotCall(),
].forEach((data) => {
assert.throws( assert.throws(
() => fs.write(1, data, common.mustNotCall()), () => fs.write(1, data, common.mustNotCall()),
{ {
@ -185,7 +175,7 @@ fs.open(fn4, 'w', 0o644, common.mustSucceed((fd) => {
{ {
// Regression test for https://github.com/nodejs/node/issues/38168 // Regression test for https://github.com/nodejs/node/issues/38168
const fd = fs.openSync(fn5, 'w'); const fd = fs.openSync(fn4, 'w');
assert.throws( assert.throws(
() => fs.writeSync(fd, 'abc', 0, 'hex'), () => fs.writeSync(fd, 'abc', 0, 'hex'),

View file

@ -9,7 +9,6 @@
require('../common'); require('../common');
const assert = require('assert'); const assert = require('assert');
const path = require('path');
const fs = require('fs'); const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
@ -17,7 +16,7 @@ tmpdir.refresh();
const expected = 'ümlaut. Лорем 運務ホソモ指及 आपको करने विकास 紙読決多密所 أضف'; const expected = 'ümlaut. Лорем 運務ホソモ指及 आपको करने विकास 紙読決多密所 أضف';
const getFileName = (i) => path.join(tmpdir.path, `writev_sync_${i}.txt`); const getFileName = (i) => tmpdir.resolve(`writev_sync_${i}.txt`);
/** /**
* Testing with a array of buffers input * Testing with a array of buffers input

View file

@ -10,7 +10,6 @@
require('../common'); require('../common');
const assert = require('assert'); const assert = require('assert');
const http = require('http'); const http = require('http');
const path = require('path');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
@ -48,7 +47,7 @@ assert.strictEqual(
); );
// unix socket // unix socket
const socketPath = path.join(tmpdir.path, 'foo', 'bar'); const socketPath = tmpdir.resolve('foo', 'bar');
assert.strictEqual( assert.strictEqual(
agent.getName({ agent.getName({
socketPath socketPath

View file

@ -24,7 +24,7 @@ common.expectWarning('DeprecationWarning', warn, 'DEP0066');
// Tests _headerNames getter result after setting a header. // Tests _headerNames getter result after setting a header.
const outgoingMessage = new OutgoingMessage(); const outgoingMessage = new OutgoingMessage();
outgoingMessage.setHeader('key', 'value'); outgoingMessage.setHeader('key', 'value');
const expect = Object.create(null); const expect = { __proto__: null };
expect.key = 'key'; expect.key = 'key';
assert.deepStrictEqual(outgoingMessage._headerNames, expect); assert.deepStrictEqual(outgoingMessage._headerNames, expect);
} }

View file

@ -41,7 +41,7 @@ const invalidUrls = [
'f://some.host/path', 'f://some.host/path',
]; ];
invalidUrls.forEach((invalid) => { for (const invalid of invalidUrls) {
assert.throws( assert.throws(
() => { http.request(url.parse(invalid)); }, () => { http.request(url.parse(invalid)); },
{ {
@ -49,4 +49,4 @@ invalidUrls.forEach((invalid) => {
name: 'TypeError' name: 'TypeError'
} }
); );
}); }

View file

@ -44,10 +44,10 @@ const v4not = [
'192.168.0.2000000000', '192.168.0.2000000000',
]; ];
v4.forEach((ip) => { for (const ip of v4) {
assert.strictEqual(net.isIPv4(ip), true); assert.strictEqual(net.isIPv4(ip), true);
}); }
v4not.forEach((ip) => { for (const ip of v4not) {
assert.strictEqual(net.isIPv4(ip), false); assert.strictEqual(net.isIPv4(ip), false);
}); }

View file

@ -242,10 +242,10 @@ const v6not = [
'02001:0000:1234:0000:0000:C1C0:ABCD:0876', '02001:0000:1234:0000:0000:C1C0:ABCD:0876',
]; ];
v6.forEach((ip) => { for (const ip of v6) {
assert.strictEqual(net.isIPv6(ip), true); assert.strictEqual(net.isIPv6(ip), true);
}); }
v6not.forEach((ip) => { for (const ip of v6not) {
assert.strictEqual(net.isIPv6(ip), false); assert.strictEqual(net.isIPv6(ip), false);
}); }

View file

@ -458,7 +458,7 @@ const candidateGreedyOptions = [
'--foo', '--foo',
]; ];
candidateGreedyOptions.forEach((value) => { for (const value of candidateGreedyOptions) {
test(`greedy: when short option with value '${value}' then eaten`, () => { test(`greedy: when short option with value '${value}' then eaten`, () => {
const args = ['-w', value]; const args = ['-w', value];
const options = { with: { type: 'string', short: 'w' } }; const options = { with: { type: 'string', short: 'w' } };
@ -476,7 +476,7 @@ candidateGreedyOptions.forEach((value) => {
const result = parseArgs({ args, options, strict: false }); const result = parseArgs({ args, options, strict: false });
assert.deepStrictEqual(result, expectedResult); assert.deepStrictEqual(result, expectedResult);
}); });
}); }
test('strict: when candidate option value is plain text then does not throw', () => { test('strict: when candidate option value is plain text then does not throw', () => {
const args = ['--with', 'abc']; const args = ['--with', 'abc'];
@ -980,7 +980,7 @@ test('tokens:true should not include the default options after the args input',
test('proto as default value must be ignored', () => { test('proto as default value must be ignored', () => {
const args = []; const args = [];
const options = Object.create(null); const options = { __proto__: null };
// eslint-disable-next-line no-proto // eslint-disable-next-line no-proto
options.__proto__ = { type: 'string', default: 'HELLO' }; options.__proto__ = { type: 'string', default: 'HELLO' };

View file

@ -13,7 +13,7 @@ const path = require('path');
const failures = []; const failures = [];
const slashRE = /\//g; const slashRE = /\//g;
[ const testPaths = [
[__filename, '.js'], [__filename, '.js'],
['', ''], ['', ''],
['/path/to/file', ''], ['/path/to/file', ''],
@ -57,10 +57,13 @@ const slashRE = /\//g;
['file//', ''], ['file//', ''],
['file./', '.'], ['file./', '.'],
['file.//', '.'], ['file.//', '.'],
].forEach((test) => { ];
const expected = test[1];
[path.posix.extname, path.win32.extname].forEach((extname) => { for (const testPath of testPaths) {
let input = test[0]; const expected = testPath[1];
const extNames = [path.posix.extname, path.win32.extname];
for (const extname of extNames) {
let input = testPath[0];
let os; let os;
if (extname === path.win32.extname) { if (extname === path.win32.extname) {
input = input.replace(slashRE, '\\'); input = input.replace(slashRE, '\\');
@ -73,16 +76,14 @@ const slashRE = /\//g;
JSON.stringify(expected)}\n actual=${JSON.stringify(actual)}`; JSON.stringify(expected)}\n actual=${JSON.stringify(actual)}`;
if (actual !== expected) if (actual !== expected)
failures.push(`\n${message}`); failures.push(`\n${message}`);
});
{
const input = `C:${test[0].replace(slashRE, '\\')}`;
const actual = path.win32.extname(input);
const message = `path.win32.extname(${JSON.stringify(input)})\n expect=${
JSON.stringify(expected)}\n actual=${JSON.stringify(actual)}`;
if (actual !== expected)
failures.push(`\n${message}`);
} }
}); const input = `C:${testPath[0].replace(slashRE, '\\')}`;
const actual = path.win32.extname(input);
const message = `path.win32.extname(${JSON.stringify(input)})\n expect=${
JSON.stringify(expected)}\n actual=${JSON.stringify(actual)}`;
if (actual !== expected)
failures.push(`\n${message}`);
}
assert.strictEqual(failures.length, 0, failures.join('')); assert.strictEqual(failures.length, 0, failures.join(''));
// On Windows, backslash is a path separator. // On Windows, backslash is a path separator.

View file

@ -231,3 +231,7 @@ function checkFormat(path, testCases) {
}); });
}); });
} }
// See https://github.com/nodejs/node/issues/44343
assert.strictEqual(path.format({ name: 'x', ext: 'png' }), 'x.png');
assert.strictEqual(path.format({ name: 'x', ext: '.png' }), 'x.png');

View file

@ -42,8 +42,8 @@ function fail(fn) {
}, { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' }); }, { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' });
} }
typeErrorTests.forEach((test) => { for (const test of typeErrorTests) {
[path.posix, path.win32].forEach((namespace) => { for (const namespace of [path.posix, path.win32]) {
fail(namespace.join, test); fail(namespace.join, test);
fail(namespace.resolve, test); fail(namespace.resolve, test);
fail(namespace.normalize, test); fail(namespace.normalize, test);
@ -59,8 +59,8 @@ typeErrorTests.forEach((test) => {
if (test !== undefined) { if (test !== undefined) {
fail(namespace.basename, 'foo', test); fail(namespace.basename, 'foo', test);
} }
}); }
}); }
// path.sep tests // path.sep tests
// windows // windows

View file

@ -41,9 +41,9 @@ function addTest(sequences, expectedKeys) {
keys = []; keys = [];
sequences.forEach((sequence) => { for (const sequence of sequences) {
fi.write(sequence); fi.write(sequence);
}); }
assert.deepStrictEqual(keys, expectedKeys); assert.deepStrictEqual(keys, expectedKeys);
} }

View file

@ -1,91 +0,0 @@
// deno-fmt-ignore-file
// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
// Taken from Node 18.12.1
// This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually.
// Flags: --expose-internals
'use strict';
require('../common');
const assert = require('assert');
const BufferList = require('internal/streams/buffer_list');
// Test empty buffer list.
const emptyList = new BufferList();
emptyList.shift();
assert.deepStrictEqual(emptyList, new BufferList());
assert.strictEqual(emptyList.join(','), '');
assert.deepStrictEqual(emptyList.concat(0), Buffer.alloc(0));
const buf = Buffer.from('foo');
function testIterator(list, count) {
// test iterator
let len = 0;
// eslint-disable-next-line no-unused-vars
for (const x of list) {
len++;
}
assert.strictEqual(len, count);
}
// Test buffer list with one element.
const list = new BufferList();
testIterator(list, 0);
list.push(buf);
testIterator(list, 1);
for (const x of list) {
assert.strictEqual(x, buf);
}
const copy = list.concat(3);
testIterator(copy, 3);
assert.notStrictEqual(copy, buf);
assert.deepStrictEqual(copy, buf);
assert.strictEqual(list.join(','), 'foo');
const shifted = list.shift();
testIterator(list, 0);
assert.strictEqual(shifted, buf);
assert.deepStrictEqual(list, new BufferList());
{
const list = new BufferList();
list.push('foo');
list.push('bar');
list.push('foo');
list.push('bar');
assert.strictEqual(list.consume(6, true), 'foobar');
assert.strictEqual(list.consume(6, true), 'foobar');
}
{
const list = new BufferList();
list.push('foo');
list.push('bar');
assert.strictEqual(list.consume(5, true), 'fooba');
}
{
const list = new BufferList();
list.push(buf);
list.push(buf);
list.push(buf);
list.push(buf);
assert.strictEqual(list.consume(6).toString(), 'foofoo');
assert.strictEqual(list.consume(6).toString(), 'foofoo');
}
{
const list = new BufferList();
list.push(buf);
list.push(buf);
assert.strictEqual(list.consume(5).toString(), 'foofo');
}

View file

@ -325,7 +325,7 @@ const assert = require('assert');
assert.rejects((async () => { assert.rejects((async () => {
// eslint-disable-next-line no-unused-vars, no-empty // eslint-disable-next-line no-unused-vars, no-empty
for await (const chunk of read) { } for await (const chunk of read) { }
})(), /AbortError/); })(), /AbortError/).then(common.mustCall());
setTimeout(() => controller.abort(), 0); setTimeout(() => controller.abort(), 0);
} }

View file

@ -45,7 +45,7 @@ const GHI = new Uint8Array([0x47, 0x48, 0x49]);
assert(!(chunk instanceof Buffer)); assert(!(chunk instanceof Buffer));
assert(chunk instanceof Uint8Array); assert(chunk instanceof Uint8Array);
assert.strictEqual(chunk, ABC); assert.strictEqual(chunk, ABC);
assert.strictEqual(encoding, 'utf8'); assert.strictEqual(encoding, undefined);
cb(); cb();
}) })
}); });

View file

@ -63,3 +63,50 @@ class MyWritable extends stream.Writable {
m.write('some-text', 'utf8'); m.write('some-text', 'utf8');
m.end(); m.end();
} }
{
assert.throws(() => {
const m = new MyWritable(null, {
defaultEncoding: 'my invalid encoding',
});
m.end();
}, {
code: 'ERR_UNKNOWN_ENCODING',
});
}
{
const w = new MyWritable(function(isBuffer, type, enc) {
assert(!isBuffer);
assert.strictEqual(type, 'string');
assert.strictEqual(enc, 'hex');
}, {
defaultEncoding: 'hex',
decodeStrings: false
});
w.write('asd');
w.end();
}
{
const w = new MyWritable(function(isBuffer, type, enc) {
assert(!isBuffer);
assert.strictEqual(type, 'string');
assert.strictEqual(enc, 'utf8');
}, {
defaultEncoding: null,
decodeStrings: false
});
w.write('asd');
w.end();
}
{
const m = new MyWritable(function(isBuffer, type, enc) {
assert.strictEqual(type, 'object');
assert.strictEqual(enc, 'utf8');
}, { defaultEncoding: 'hex',
objectMode: true });
m.write({ foo: 'bar' }, 'utf8');
m.end();
}

View file

@ -43,7 +43,7 @@ const stream = require('stream');
let called = false; let called = false;
writable.end('asd', common.mustCall((err) => { writable.end('asd', common.mustCall((err) => {
called = true; called = true;
assert.strictEqual(err, undefined); assert.strictEqual(err, null);
})); }));
writable.on('error', common.mustCall((err) => { writable.on('error', common.mustCall((err) => {

View file

@ -1,108 +0,0 @@
// deno-fmt-ignore-file
// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.
// Taken from Node 18.12.1
// This file is automatically generated by `tests/node_compat/runner/setup.ts`. Do not modify this file manually.
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
// Flags: --expose-internals
'use strict';
require('../common');
const assert = require('assert');
const fromList = require('stream').Readable._fromList;
const BufferList = require('internal/streams/buffer_list');
const util = require('util');
function bufferListFromArray(arr) {
const bl = new BufferList();
for (let i = 0; i < arr.length; ++i)
bl.push(arr[i]);
return bl;
}
{
// Verify behavior with buffers
let list = [ Buffer.from('foog'),
Buffer.from('bark'),
Buffer.from('bazy'),
Buffer.from('kuel') ];
list = bufferListFromArray(list);
assert.strictEqual(
util.inspect([ list ], { compact: false }),
`[
BufferList {
head: [Object],
tail: [Object],
length: 4
}
]`);
// Read more than the first element.
let ret = fromList(6, { buffer: list, length: 16 });
assert.strictEqual(ret.toString(), 'foogba');
// Read exactly the first element.
ret = fromList(2, { buffer: list, length: 10 });
assert.strictEqual(ret.toString(), 'rk');
// Read less than the first element.
ret = fromList(2, { buffer: list, length: 8 });
assert.strictEqual(ret.toString(), 'ba');
// Read more than we have.
ret = fromList(100, { buffer: list, length: 6 });
assert.strictEqual(ret.toString(), 'zykuel');
// all consumed.
assert.deepStrictEqual(list, new BufferList());
}
{
// Verify behavior with strings
let list = [ 'foog',
'bark',
'bazy',
'kuel' ];
list = bufferListFromArray(list);
// Read more than the first element.
let ret = fromList(6, { buffer: list, length: 16, decoder: true });
assert.strictEqual(ret, 'foogba');
// Read exactly the first element.
ret = fromList(2, { buffer: list, length: 10, decoder: true });
assert.strictEqual(ret, 'rk');
// Read less than the first element.
ret = fromList(2, { buffer: list, length: 8, decoder: true });
assert.strictEqual(ret, 'ba');
// Read more than we have.
ret = fromList(100, { buffer: list, length: 6, decoder: true });
assert.strictEqual(ret, 'zykuel');
// all consumed.
assert.deepStrictEqual(list, new BufferList());
}

View file

@ -201,7 +201,8 @@ for (let i = 0; i < chunks.length; i++) {
{ {
// Verify write callbacks // Verify write callbacks
const callbacks = chunks.map(function(chunk, i) { const callbacks = chunks.map(function(chunk, i) {
return [i, function() { return [i, function(err) {
assert.strictEqual(err, null);
callbacks._called[i] = chunk; callbacks._called[i] = chunk;
}]; }];
}).reduce(function(set, x) { }).reduce(function(set, x) {
@ -232,7 +233,9 @@ for (let i = 0; i < chunks.length; i++) {
{ {
// Verify end() callback // Verify end() callback
const tw = new TestWriter(); const tw = new TestWriter();
tw.end(common.mustCall()); tw.end(common.mustCall(function(err) {
assert.strictEqual(err, null);
}));
} }
const helloWorldBuffer = Buffer.from('hello world'); const helloWorldBuffer = Buffer.from('hello world');
@ -240,7 +243,9 @@ const helloWorldBuffer = Buffer.from('hello world');
{ {
// Verify end() callback with chunk // Verify end() callback with chunk
const tw = new TestWriter(); const tw = new TestWriter();
tw.end(helloWorldBuffer, common.mustCall()); tw.end(helloWorldBuffer, common.mustCall(function(err) {
assert.strictEqual(err, null);
}));
} }
{ {

View file

@ -147,3 +147,8 @@ assert.strictEqual(
url.format(new URL('http://user:pass@xn--0zwm56d.com:8080/path'), { unicode: true }), url.format(new URL('http://user:pass@xn--0zwm56d.com:8080/path'), { unicode: true }),
'http://user:pass@测试.com:8080/path' 'http://user:pass@测试.com:8080/path'
); );
assert.strictEqual(
url.format(new URL('tel:123')),
url.format(new URL('tel:123'), { unicode: true })
);

View file

@ -81,3 +81,33 @@ if (common.hasIntl) {
(e) => e.code === 'ERR_INVALID_URL', (e) => e.code === 'ERR_INVALID_URL',
'parsing http://\u00AD/bad.com/'); 'parsing http://\u00AD/bad.com/');
} }
/*
FIXME(kt3k): node -e <script> doesn't work in deno
{
const badURLs = [
'https://evil.com:.example.com',
'git+ssh://git@github.com:npm/npm',
];
badURLs.forEach((badURL) => {
common.spawnPromisified(process.execPath, ['-e', `url.parse(${JSON.stringify(badURL)})`])
.then(common.mustCall(({ code, stdout, stderr }) => {
assert.strictEqual(code, 0);
assert.strictEqual(stdout, '');
assert.match(stderr, /\[DEP0170\] DeprecationWarning:/);
}));
});
// Warning should only happen once per process.
const expectedWarning = [
`The URL ${badURLs[0]} is invalid. Future versions of Node.js will throw an error.`,
'DEP0170',
];
common.expectWarning({
DeprecationWarning: expectedWarning,
});
badURLs.forEach((badURL) => {
url.parse(badURL);
});
}
*/

View file

@ -11,7 +11,7 @@ const assert = require('assert');
const url = require('url'); const url = require('url');
function createWithNoPrototype(properties = []) { function createWithNoPrototype(properties = []) {
const noProto = Object.create(null); const noProto = { __proto__: null };
properties.forEach((property) => { properties.forEach((property) => {
noProto[property.key] = property.value; noProto[property.key] = property.value;
}); });

View file

@ -36,13 +36,30 @@ const url = require('url');
// Missing server: // Missing server:
assert.throws(() => url.pathToFileURL('\\\\\\no-server'), { assert.throws(() => url.pathToFileURL('\\\\\\no-server'), {
code: 'ERR_INVALID_ARG_VALUE' code: 'ERR_INVALID_ARG_VALUE',
}); });
// Missing share or resource: // Missing share or resource:
assert.throws(() => url.pathToFileURL('\\\\host'), { assert.throws(() => url.pathToFileURL('\\\\host'), {
code: 'ERR_INVALID_ARG_VALUE' code: 'ERR_INVALID_ARG_VALUE',
}); });
// Regression test for direct String.prototype.startsWith call
assert.throws(() => url.pathToFileURL([
'\\\\',
{ [Symbol.toPrimitive]: () => 'blep\\blop' },
]), {
code: 'ERR_INVALID_ARG_TYPE',
});
assert.throws(() => url.pathToFileURL(['\\\\', 'blep\\blop']), {
code: 'ERR_INVALID_ARG_TYPE',
});
assert.throws(() => url.pathToFileURL({
[Symbol.toPrimitive]: () => '\\\\blep\\blop',
}), {
code: 'ERR_INVALID_ARG_TYPE',
});
} else { } else {
// UNC paths on posix are considered a single path that has backslashes: // UNC paths on posix are considered a single path that has backslashes:
const fileURL = url.pathToFileURL('\\\\nas\\share\\path.txt').href; const fileURL = url.pathToFileURL('\\\\nas\\share\\path.txt').href;
@ -151,3 +168,19 @@ const url = require('url');
assert.strictEqual(actual, expected); assert.strictEqual(actual, expected);
} }
} }
// Test for non-string parameter
{
for (const badPath of [
undefined, null, true, 42, 42n, Symbol('42'), NaN, {}, [], () => {},
Promise.resolve('foo'),
new Date(),
new String('notPrimitive'),
{ toString() { return 'amObject'; } },
{ [Symbol.toPrimitive]: (hint) => 'amObject' },
]) {
assert.throws(() => url.pathToFileURL(badPath), {
code: 'ERR_INVALID_ARG_TYPE',
});
}
}

View file

@ -62,13 +62,15 @@ const relativeTests = [
['http://localhost', 'file://foo/Users', 'file://foo/Users'], ['http://localhost', 'file://foo/Users', 'file://foo/Users'],
['https://registry.npmjs.org', '@foo/bar', 'https://registry.npmjs.org/@foo/bar'], ['https://registry.npmjs.org', '@foo/bar', 'https://registry.npmjs.org/@foo/bar'],
]; ];
relativeTests.forEach(function(relativeTest) { for (let i = 0; i < relativeTests.length; i++) {
const relativeTest = relativeTests[i];
const a = url.resolve(relativeTest[0], relativeTest[1]); const a = url.resolve(relativeTest[0], relativeTest[1]);
const e = relativeTest[2]; const e = relativeTest[2];
assert.strictEqual(a, e, assert.strictEqual(a, e,
`resolve(${relativeTest[0]}, ${relativeTest[1]})` + `resolve(${relativeTest[0]}, ${relativeTest[1]})` +
` == ${e}\n actual=${a}`); ` == ${e}\n actual=${a}`);
}); }
// //
// Tests below taken from Chiron // Tests below taken from Chiron
@ -381,19 +383,23 @@ const relativeTests2 = [
// No path at all // No path at all
['#hash1', '#hash2', '#hash1'], ['#hash1', '#hash2', '#hash1'],
]; ];
relativeTests2.forEach(function(relativeTest) { for (let i = 0; i < relativeTests2.length; i++) {
const relativeTest = relativeTests2[i];
const a = url.resolve(relativeTest[1], relativeTest[0]); const a = url.resolve(relativeTest[1], relativeTest[0]);
const e = url.format(relativeTest[2]); const e = url.format(relativeTest[2]);
assert.strictEqual(a, e, assert.strictEqual(a, e,
`resolve(${relativeTest[0]}, ${relativeTest[1]})` + `resolve(${relativeTest[0]}, ${relativeTest[1]})` +
` == ${e}\n actual=${a}`); ` == ${e}\n actual=${a}`);
}); }
// If format and parse are inverse operations then // If format and parse are inverse operations then
// resolveObject(parse(x), y) == parse(resolve(x, y)) // resolveObject(parse(x), y) == parse(resolve(x, y))
// format: [from, path, expected] // format: [from, path, expected]
relativeTests.forEach(function(relativeTest) { for (let i = 0; i < relativeTests.length; i++) {
const relativeTest = relativeTests[i];
let actual = url.resolveObject(url.parse(relativeTest[0]), relativeTest[1]); let actual = url.resolveObject(url.parse(relativeTest[0]), relativeTest[1]);
let expected = url.parse(relativeTest[2]); let expected = url.parse(relativeTest[2]);
@ -406,7 +412,8 @@ relativeTests.forEach(function(relativeTest) {
assert.strictEqual(actual, expected, assert.strictEqual(actual, expected,
`format(${actual}) == ${expected}\n` + `format(${actual}) == ${expected}\n` +
`actual: ${actual}`); `actual: ${actual}`);
});
}
// format: [to, from, result] // format: [to, from, result]
// the test: ['.//g', 'f:/a', 'f://g'] is a fundamental problem // the test: ['.//g', 'f:/a', 'f://g'] is a fundamental problem
@ -422,7 +429,9 @@ if (relativeTests2[181][0] === './/g' &&
relativeTests2[181][2] === 'f://g') { relativeTests2[181][2] === 'f://g') {
relativeTests2.splice(181, 1); relativeTests2.splice(181, 1);
} }
relativeTests2.forEach(function(relativeTest) { for (let i = 0; i < relativeTests2.length; i++) {
const relativeTest = relativeTests2[i];
let actual = url.resolveObject(url.parse(relativeTest[1]), relativeTest[0]); let actual = url.resolveObject(url.parse(relativeTest[1]), relativeTest[0]);
let expected = url.parse(relativeTest[2]); let expected = url.parse(relativeTest[2]);
@ -438,4 +447,4 @@ relativeTests2.forEach(function(relativeTest) {
assert.strictEqual(actual, expected, assert.strictEqual(actual, expected,
`format(${relativeTest[1]}) == ${expected}\n` + `format(${relativeTest[1]}) == ${expected}\n` +
`actual: ${actual}`); `actual: ${actual}`);
}); }

View file

@ -11,6 +11,7 @@ require('../common');
const { const {
strictEqual, strictEqual,
throws,
} = require('assert'); } = require('assert');
// Manually ported from: wpt@dom/events/AddEventListenerOptions-signal.any.js // Manually ported from: wpt@dom/events/AddEventListenerOptions-signal.any.js
@ -164,3 +165,11 @@ const {
}, { once: true }); }, { once: true });
et.dispatchEvent(new Event('foo')); et.dispatchEvent(new Event('foo'));
} }
{
const et = new EventTarget();
[1, 1n, {}, [], null, true, 'hi', Symbol(), () => {}].forEach((signal) => {
throws(() => et.addEventListener('foo', () => {}, { signal }), {
name: 'TypeError',
});
});
}