mirror of
https://github.com/denoland/deno.git
synced 2024-12-18 21:35:31 -05:00
chore: add script to check remaining node compat cases (#27122)
This commit is contained in:
parent
2e2d3173d1
commit
1ee13a3544
5 changed files with 217 additions and 144 deletions
|
@ -2,6 +2,9 @@
|
||||||
import { partition } from "@std/collections/partition";
|
import { partition } from "@std/collections/partition";
|
||||||
import { join } from "@std/path";
|
import { join } from "@std/path";
|
||||||
import * as JSONC from "@std/jsonc";
|
import * as JSONC from "@std/jsonc";
|
||||||
|
import { walk } from "@std/fs/walk";
|
||||||
|
import { relative } from "@std/path/posix/relative";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The test suite matches the folders inside the `test` folder inside the
|
* The test suite matches the folders inside the `test` folder inside the
|
||||||
* node repo
|
* node repo
|
||||||
|
@ -61,3 +64,130 @@ export function partitionParallelTestPaths(
|
||||||
const partitions = partition(testPaths, (p) => !!p.match(PARALLEL_PATTERN));
|
const partitions = partition(testPaths, (p) => !!p.match(PARALLEL_PATTERN));
|
||||||
return { parallel: partitions[0], sequential: partitions[1] };
|
return { parallel: partitions[0], sequential: partitions[1] };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const NODE_IGNORED_TEST_DIRS = [
|
||||||
|
"addons",
|
||||||
|
"async-hooks",
|
||||||
|
"cctest",
|
||||||
|
"common",
|
||||||
|
"doctool",
|
||||||
|
"embedding",
|
||||||
|
"fixtures",
|
||||||
|
"fuzzers",
|
||||||
|
"js-native-api",
|
||||||
|
"node-api",
|
||||||
|
"overlapped-checker",
|
||||||
|
"report",
|
||||||
|
"testpy",
|
||||||
|
"tick-processor",
|
||||||
|
"tools",
|
||||||
|
"v8-updates",
|
||||||
|
"wasi",
|
||||||
|
"wpt",
|
||||||
|
];
|
||||||
|
|
||||||
|
export const VENDORED_NODE_TEST = new URL(
|
||||||
|
"./runner/suite/test/",
|
||||||
|
import.meta.url,
|
||||||
|
);
|
||||||
|
export const NODE_COMPAT_TEST_DEST_URL = new URL(
|
||||||
|
"./test/",
|
||||||
|
import.meta.url,
|
||||||
|
);
|
||||||
|
|
||||||
|
export async function getNodeTests(): Promise<string[]> {
|
||||||
|
const paths: string[] = [];
|
||||||
|
const rootPath = VENDORED_NODE_TEST.href.slice(7);
|
||||||
|
for await (
|
||||||
|
const item of walk(VENDORED_NODE_TEST, { exts: [".js"] })
|
||||||
|
) {
|
||||||
|
const path = relative(rootPath, item.path);
|
||||||
|
if (NODE_IGNORED_TEST_DIRS.every((dir) => !path.startsWith(dir))) {
|
||||||
|
paths.push(path);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return paths.sort();
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getDenoTests() {
|
||||||
|
const paths: string[] = [];
|
||||||
|
const rootPath = NODE_COMPAT_TEST_DEST_URL.href.slice(7);
|
||||||
|
for await (
|
||||||
|
const item of walk(NODE_COMPAT_TEST_DEST_URL, { exts: [".js"] })
|
||||||
|
) {
|
||||||
|
const path = relative(rootPath, item.path);
|
||||||
|
paths.push(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
return paths.sort();
|
||||||
|
}
|
||||||
|
|
||||||
|
let testSerialId = 0;
|
||||||
|
const cwd = new URL(".", import.meta.url);
|
||||||
|
|
||||||
|
export async function runNodeCompatTestCase(
|
||||||
|
testCase: string,
|
||||||
|
signal?: AbortSignal,
|
||||||
|
) {
|
||||||
|
const v8Flags = ["--stack-size=4000"];
|
||||||
|
const testSource = await Deno.readTextFile(testCase);
|
||||||
|
const envVars: Record<string, string> = {};
|
||||||
|
const knownGlobals: string[] = [];
|
||||||
|
parseFlags(testSource).forEach((flag) => {
|
||||||
|
switch (flag) {
|
||||||
|
case "--expose_externalize_string":
|
||||||
|
v8Flags.push("--expose-externalize-string");
|
||||||
|
knownGlobals.push("createExternalizableString");
|
||||||
|
break;
|
||||||
|
case "--expose-gc":
|
||||||
|
v8Flags.push("--expose-gc");
|
||||||
|
knownGlobals.push("gc");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (knownGlobals.length > 0) {
|
||||||
|
envVars["NODE_TEST_KNOWN_GLOBALS"] = knownGlobals.join(",");
|
||||||
|
}
|
||||||
|
// TODO(nathanwhit): once we match node's behavior on executing
|
||||||
|
// `node:test` tests when we run a file, we can remove this
|
||||||
|
const usesNodeTest = testSource.includes("node:test");
|
||||||
|
const args = [
|
||||||
|
usesNodeTest ? "test" : "run",
|
||||||
|
"-A",
|
||||||
|
"--quiet",
|
||||||
|
"--unstable-unsafe-proto",
|
||||||
|
"--unstable-bare-node-builtins",
|
||||||
|
"--unstable-fs",
|
||||||
|
"--v8-flags=" + v8Flags.join(),
|
||||||
|
];
|
||||||
|
if (usesNodeTest) {
|
||||||
|
// deno test typechecks by default + we want to pass script args
|
||||||
|
args.push("--no-check", "runner.ts", "--", testCase);
|
||||||
|
} else {
|
||||||
|
args.push("runner.ts", testCase);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pipe stdout in order to output each test result as Deno.test output
|
||||||
|
// That way the tests will respect the `--quiet` option when provided
|
||||||
|
return new Deno.Command(Deno.execPath(), {
|
||||||
|
args,
|
||||||
|
env: {
|
||||||
|
TEST_SERIAL_ID: String(testSerialId++),
|
||||||
|
...envVars,
|
||||||
|
},
|
||||||
|
cwd,
|
||||||
|
stdout: "piped",
|
||||||
|
stderr: "piped",
|
||||||
|
signal,
|
||||||
|
}).spawn();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Parses the special "Flags:"" syntax in Node.js test files */
|
||||||
|
function parseFlags(source: string): string[] {
|
||||||
|
const line = /^\/\/ Flags: (.+)$/um.exec(source);
|
||||||
|
if (line == null) return [];
|
||||||
|
return line[1].split(" ");
|
||||||
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<!-- deno-fmt-ignore-file -->
|
<!-- deno-fmt-ignore-file -->
|
||||||
# Remaining Node Tests
|
# Remaining Node Tests
|
||||||
|
|
||||||
1120 tests out of 3681 have been ported from Node 20.11.1 (30.43% ported, 69.68% remaining).
|
1163 tests out of 3681 have been ported from Node 20.11.1 (31.59% ported, 68.92% remaining).
|
||||||
|
|
||||||
NOTE: This file should not be manually edited. Please edit `tests/node_compat/config.json` and run `deno task setup` in `tests/node_compat/runner` dir instead.
|
NOTE: This file should not be manually edited. Please edit `tests/node_compat/config.json` and run `deno task setup` in `tests/node_compat/runner` dir instead.
|
||||||
|
|
||||||
|
@ -223,18 +223,12 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-child-process-constructor.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-constructor.js)
|
- [parallel/test-child-process-constructor.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-constructor.js)
|
||||||
- [parallel/test-child-process-cwd.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-cwd.js)
|
- [parallel/test-child-process-cwd.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-cwd.js)
|
||||||
- [parallel/test-child-process-destroy.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-destroy.js)
|
- [parallel/test-child-process-destroy.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-destroy.js)
|
||||||
- [parallel/test-child-process-detached.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-detached.js)
|
|
||||||
- [parallel/test-child-process-disconnect.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-disconnect.js)
|
- [parallel/test-child-process-disconnect.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-disconnect.js)
|
||||||
- [parallel/test-child-process-env.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-env.js)
|
- [parallel/test-child-process-env.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-env.js)
|
||||||
- [parallel/test-child-process-exec-any-shells-windows.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-any-shells-windows.js)
|
- [parallel/test-child-process-exec-any-shells-windows.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-any-shells-windows.js)
|
||||||
- [parallel/test-child-process-exec-encoding.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-encoding.js)
|
|
||||||
- [parallel/test-child-process-exec-std-encoding.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-std-encoding.js)
|
|
||||||
- [parallel/test-child-process-exec-timeout-expire.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-timeout-expire.js)
|
- [parallel/test-child-process-exec-timeout-expire.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-timeout-expire.js)
|
||||||
- [parallel/test-child-process-exec-timeout-kill.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-timeout-kill.js)
|
- [parallel/test-child-process-exec-timeout-kill.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-timeout-kill.js)
|
||||||
- [parallel/test-child-process-exec-timeout-not-expired.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exec-timeout-not-expired.js)
|
|
||||||
- [parallel/test-child-process-execFile-promisified-abortController.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-execFile-promisified-abortController.js)
|
- [parallel/test-child-process-execFile-promisified-abortController.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-execFile-promisified-abortController.js)
|
||||||
- [parallel/test-child-process-execfile.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-execfile.js)
|
|
||||||
- [parallel/test-child-process-exit-code.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-exit-code.js)
|
|
||||||
- [parallel/test-child-process-fork-abort-signal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-abort-signal.js)
|
- [parallel/test-child-process-fork-abort-signal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-abort-signal.js)
|
||||||
- [parallel/test-child-process-fork-and-spawn.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-and-spawn.js)
|
- [parallel/test-child-process-fork-and-spawn.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-and-spawn.js)
|
||||||
- [parallel/test-child-process-fork-args.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-args.js)
|
- [parallel/test-child-process-fork-args.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-args.js)
|
||||||
|
@ -249,15 +243,12 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-child-process-fork-net-socket.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-net-socket.js)
|
- [parallel/test-child-process-fork-net-socket.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-net-socket.js)
|
||||||
- [parallel/test-child-process-fork-net.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-net.js)
|
- [parallel/test-child-process-fork-net.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-net.js)
|
||||||
- [parallel/test-child-process-fork-no-shell.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-no-shell.js)
|
- [parallel/test-child-process-fork-no-shell.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-no-shell.js)
|
||||||
- [parallel/test-child-process-fork-ref.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-ref.js)
|
|
||||||
- [parallel/test-child-process-fork-ref2.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-ref2.js)
|
|
||||||
- [parallel/test-child-process-fork-stdio-string-variant.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-stdio-string-variant.js)
|
- [parallel/test-child-process-fork-stdio-string-variant.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-stdio-string-variant.js)
|
||||||
- [parallel/test-child-process-fork-stdio.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-stdio.js)
|
- [parallel/test-child-process-fork-stdio.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-stdio.js)
|
||||||
- [parallel/test-child-process-fork-timeout-kill-signal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-timeout-kill-signal.js)
|
- [parallel/test-child-process-fork-timeout-kill-signal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork-timeout-kill-signal.js)
|
||||||
- [parallel/test-child-process-fork.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork.js)
|
- [parallel/test-child-process-fork.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-fork.js)
|
||||||
- [parallel/test-child-process-http-socket-leak.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-http-socket-leak.js)
|
- [parallel/test-child-process-http-socket-leak.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-http-socket-leak.js)
|
||||||
- [parallel/test-child-process-internal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-internal.js)
|
- [parallel/test-child-process-internal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-internal.js)
|
||||||
- [parallel/test-child-process-ipc.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-ipc.js)
|
|
||||||
- [parallel/test-child-process-no-deprecation.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-no-deprecation.js)
|
- [parallel/test-child-process-no-deprecation.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-no-deprecation.js)
|
||||||
- [parallel/test-child-process-pipe-dataflow.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-pipe-dataflow.js)
|
- [parallel/test-child-process-pipe-dataflow.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-pipe-dataflow.js)
|
||||||
- [parallel/test-child-process-promisified.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-promisified.js)
|
- [parallel/test-child-process-promisified.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-promisified.js)
|
||||||
|
@ -276,19 +267,15 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-child-process-spawn-shell.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawn-shell.js)
|
- [parallel/test-child-process-spawn-shell.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawn-shell.js)
|
||||||
- [parallel/test-child-process-spawn-timeout-kill-signal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawn-timeout-kill-signal.js)
|
- [parallel/test-child-process-spawn-timeout-kill-signal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawn-timeout-kill-signal.js)
|
||||||
- [parallel/test-child-process-spawn-typeerror.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawn-typeerror.js)
|
- [parallel/test-child-process-spawn-typeerror.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawn-typeerror.js)
|
||||||
- [parallel/test-child-process-spawnsync-env.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-env.js)
|
|
||||||
- [parallel/test-child-process-spawnsync-input.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-input.js)
|
- [parallel/test-child-process-spawnsync-input.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-input.js)
|
||||||
- [parallel/test-child-process-spawnsync-kill-signal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-kill-signal.js)
|
- [parallel/test-child-process-spawnsync-kill-signal.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-kill-signal.js)
|
||||||
- [parallel/test-child-process-spawnsync-shell.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-shell.js)
|
- [parallel/test-child-process-spawnsync-shell.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-shell.js)
|
||||||
- [parallel/test-child-process-spawnsync-timeout.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-timeout.js)
|
- [parallel/test-child-process-spawnsync-timeout.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-spawnsync-timeout.js)
|
||||||
- [parallel/test-child-process-stdin.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdin.js)
|
- [parallel/test-child-process-stdin.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdin.js)
|
||||||
- [parallel/test-child-process-stdio-big-write-end.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio-big-write-end.js)
|
- [parallel/test-child-process-stdio-big-write-end.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio-big-write-end.js)
|
||||||
- [parallel/test-child-process-stdio-inherit.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio-inherit.js)
|
|
||||||
- [parallel/test-child-process-stdio-merge-stdouts-into-cat.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio-merge-stdouts-into-cat.js)
|
- [parallel/test-child-process-stdio-merge-stdouts-into-cat.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio-merge-stdouts-into-cat.js)
|
||||||
- [parallel/test-child-process-stdio-reuse-readable-stdio.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio-reuse-readable-stdio.js)
|
- [parallel/test-child-process-stdio-reuse-readable-stdio.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio-reuse-readable-stdio.js)
|
||||||
- [parallel/test-child-process-stdio.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio.js)
|
- [parallel/test-child-process-stdio.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdio.js)
|
||||||
- [parallel/test-child-process-stdout-flush-exit.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdout-flush-exit.js)
|
|
||||||
- [parallel/test-child-process-stdout-flush.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdout-flush.js)
|
|
||||||
- [parallel/test-child-process-stdout-ipc.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdout-ipc.js)
|
- [parallel/test-child-process-stdout-ipc.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-stdout-ipc.js)
|
||||||
- [parallel/test-child-process-uid-gid.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-uid-gid.js)
|
- [parallel/test-child-process-uid-gid.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-uid-gid.js)
|
||||||
- [parallel/test-child-process-validate-stdio.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-validate-stdio.js)
|
- [parallel/test-child-process-validate-stdio.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-child-process-validate-stdio.js)
|
||||||
|
@ -394,7 +381,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-common.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-common.js)
|
- [parallel/test-common.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-common.js)
|
||||||
- [parallel/test-console-clear.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-clear.js)
|
- [parallel/test-console-clear.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-clear.js)
|
||||||
- [parallel/test-console-count.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-count.js)
|
- [parallel/test-console-count.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-count.js)
|
||||||
- [parallel/test-console-instance.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-instance.js)
|
|
||||||
- [parallel/test-console-issue-43095.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-issue-43095.js)
|
- [parallel/test-console-issue-43095.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-issue-43095.js)
|
||||||
- [parallel/test-console-methods.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-methods.js)
|
- [parallel/test-console-methods.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-methods.js)
|
||||||
- [parallel/test-console-stdio-setters.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-stdio-setters.js)
|
- [parallel/test-console-stdio-setters.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-console-stdio-setters.js)
|
||||||
|
@ -505,21 +491,17 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-dgram-cluster-close-in-listening.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-cluster-close-in-listening.js)
|
- [parallel/test-dgram-cluster-close-in-listening.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-cluster-close-in-listening.js)
|
||||||
- [parallel/test-dgram-create-socket-handle-fd.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-create-socket-handle-fd.js)
|
- [parallel/test-dgram-create-socket-handle-fd.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-create-socket-handle-fd.js)
|
||||||
- [parallel/test-dgram-create-socket-handle.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-create-socket-handle.js)
|
- [parallel/test-dgram-create-socket-handle.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-create-socket-handle.js)
|
||||||
- [parallel/test-dgram-custom-lookup.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-custom-lookup.js)
|
|
||||||
- [parallel/test-dgram-deprecation-error.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-deprecation-error.js)
|
- [parallel/test-dgram-deprecation-error.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-deprecation-error.js)
|
||||||
- [parallel/test-dgram-exclusive-implicit-bind.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-exclusive-implicit-bind.js)
|
- [parallel/test-dgram-exclusive-implicit-bind.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-exclusive-implicit-bind.js)
|
||||||
- [parallel/test-dgram-ipv6only.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-ipv6only.js)
|
|
||||||
- [parallel/test-dgram-membership.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-membership.js)
|
- [parallel/test-dgram-membership.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-membership.js)
|
||||||
- [parallel/test-dgram-multicast-loopback.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-multicast-loopback.js)
|
- [parallel/test-dgram-multicast-loopback.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-multicast-loopback.js)
|
||||||
- [parallel/test-dgram-multicast-set-interface.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-multicast-set-interface.js)
|
- [parallel/test-dgram-multicast-set-interface.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-multicast-set-interface.js)
|
||||||
- [parallel/test-dgram-multicast-setTTL.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-multicast-setTTL.js)
|
- [parallel/test-dgram-multicast-setTTL.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-multicast-setTTL.js)
|
||||||
- [parallel/test-dgram-send-address-types.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-send-address-types.js)
|
- [parallel/test-dgram-send-address-types.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-send-address-types.js)
|
||||||
- [parallel/test-dgram-send-cb-quelches-error.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-send-cb-quelches-error.js)
|
|
||||||
- [parallel/test-dgram-send-queue-info.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-send-queue-info.js)
|
- [parallel/test-dgram-send-queue-info.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-send-queue-info.js)
|
||||||
- [parallel/test-dgram-sendto.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-sendto.js)
|
- [parallel/test-dgram-sendto.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-sendto.js)
|
||||||
- [parallel/test-dgram-setBroadcast.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-setBroadcast.js)
|
- [parallel/test-dgram-setBroadcast.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-setBroadcast.js)
|
||||||
- [parallel/test-dgram-setTTL.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-setTTL.js)
|
- [parallel/test-dgram-setTTL.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-setTTL.js)
|
||||||
- [parallel/test-dgram-socket-buffer-size.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-socket-buffer-size.js)
|
|
||||||
- [parallel/test-dgram-udp6-link-local-address.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-udp6-link-local-address.js)
|
- [parallel/test-dgram-udp6-link-local-address.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-udp6-link-local-address.js)
|
||||||
- [parallel/test-dgram-unref-in-cluster.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-unref-in-cluster.js)
|
- [parallel/test-dgram-unref-in-cluster.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dgram-unref-in-cluster.js)
|
||||||
- [parallel/test-diagnostics-channel-http-server-start.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-diagnostics-channel-http-server-start.js)
|
- [parallel/test-diagnostics-channel-http-server-start.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-diagnostics-channel-http-server-start.js)
|
||||||
|
@ -544,11 +526,9 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-dns-perf_hooks.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-perf_hooks.js)
|
- [parallel/test-dns-perf_hooks.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-perf_hooks.js)
|
||||||
- [parallel/test-dns-resolve-promises.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-resolve-promises.js)
|
- [parallel/test-dns-resolve-promises.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-resolve-promises.js)
|
||||||
- [parallel/test-dns-resolveany-bad-ancount.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-resolveany-bad-ancount.js)
|
- [parallel/test-dns-resolveany-bad-ancount.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-resolveany-bad-ancount.js)
|
||||||
- [parallel/test-dns-resolveany.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-resolveany.js)
|
|
||||||
- [parallel/test-dns-set-default-order.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-set-default-order.js)
|
- [parallel/test-dns-set-default-order.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-set-default-order.js)
|
||||||
- [parallel/test-dns-setlocaladdress.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-setlocaladdress.js)
|
- [parallel/test-dns-setlocaladdress.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-setlocaladdress.js)
|
||||||
- [parallel/test-dns-setserver-when-querying.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-setserver-when-querying.js)
|
- [parallel/test-dns-setserver-when-querying.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns-setserver-when-querying.js)
|
||||||
- [parallel/test-dns.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-dns.js)
|
|
||||||
- [parallel/test-domain-abort-on-uncaught.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-domain-abort-on-uncaught.js)
|
- [parallel/test-domain-abort-on-uncaught.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-domain-abort-on-uncaught.js)
|
||||||
- [parallel/test-domain-add-remove.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-domain-add-remove.js)
|
- [parallel/test-domain-add-remove.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-domain-add-remove.js)
|
||||||
- [parallel/test-domain-async-id-map-leak.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-domain-async-id-map-leak.js)
|
- [parallel/test-domain-async-id-map-leak.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-domain-async-id-map-leak.js)
|
||||||
|
@ -1462,8 +1442,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-net-child-process-connect-reset.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-child-process-connect-reset.js)
|
- [parallel/test-net-child-process-connect-reset.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-child-process-connect-reset.js)
|
||||||
- [parallel/test-net-client-bind-twice.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-client-bind-twice.js)
|
- [parallel/test-net-client-bind-twice.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-client-bind-twice.js)
|
||||||
- [parallel/test-net-connect-abort-controller.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-abort-controller.js)
|
- [parallel/test-net-connect-abort-controller.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-abort-controller.js)
|
||||||
- [parallel/test-net-connect-buffer.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-buffer.js)
|
|
||||||
- [parallel/test-net-connect-buffer2.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-buffer2.js)
|
|
||||||
- [parallel/test-net-connect-keepalive.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-keepalive.js)
|
- [parallel/test-net-connect-keepalive.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-keepalive.js)
|
||||||
- [parallel/test-net-connect-memleak.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-memleak.js)
|
- [parallel/test-net-connect-memleak.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-memleak.js)
|
||||||
- [parallel/test-net-connect-nodelay.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-nodelay.js)
|
- [parallel/test-net-connect-nodelay.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-connect-nodelay.js)
|
||||||
|
@ -1484,7 +1462,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-net-onread-static-buffer.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-onread-static-buffer.js)
|
- [parallel/test-net-onread-static-buffer.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-onread-static-buffer.js)
|
||||||
- [parallel/test-net-perf_hooks.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-perf_hooks.js)
|
- [parallel/test-net-perf_hooks.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-perf_hooks.js)
|
||||||
- [parallel/test-net-pingpong.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-pingpong.js)
|
- [parallel/test-net-pingpong.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-pingpong.js)
|
||||||
- [parallel/test-net-server-call-listen-multiple-times.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-call-listen-multiple-times.js)
|
|
||||||
- [parallel/test-net-server-drop-connections.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-drop-connections.js)
|
- [parallel/test-net-server-drop-connections.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-drop-connections.js)
|
||||||
- [parallel/test-net-server-keepalive.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-keepalive.js)
|
- [parallel/test-net-server-keepalive.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-keepalive.js)
|
||||||
- [parallel/test-net-server-listen-handle.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-listen-handle.js)
|
- [parallel/test-net-server-listen-handle.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-listen-handle.js)
|
||||||
|
@ -1493,14 +1470,12 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-net-server-nodelay.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-nodelay.js)
|
- [parallel/test-net-server-nodelay.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-nodelay.js)
|
||||||
- [parallel/test-net-server-reset.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-reset.js)
|
- [parallel/test-net-server-reset.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-reset.js)
|
||||||
- [parallel/test-net-server-simultaneous-accepts-produce-warning-once.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-simultaneous-accepts-produce-warning-once.js)
|
- [parallel/test-net-server-simultaneous-accepts-produce-warning-once.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-simultaneous-accepts-produce-warning-once.js)
|
||||||
- [parallel/test-net-server-try-ports.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-server-try-ports.js)
|
|
||||||
- [parallel/test-net-socket-byteswritten.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-byteswritten.js)
|
- [parallel/test-net-socket-byteswritten.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-byteswritten.js)
|
||||||
- [parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js)
|
- [parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js)
|
||||||
- [parallel/test-net-socket-constructor.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-constructor.js)
|
- [parallel/test-net-socket-constructor.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-constructor.js)
|
||||||
- [parallel/test-net-socket-local-address.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-local-address.js)
|
- [parallel/test-net-socket-local-address.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-local-address.js)
|
||||||
- [parallel/test-net-socket-reset-send.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-reset-send.js)
|
- [parallel/test-net-socket-reset-send.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-reset-send.js)
|
||||||
- [parallel/test-net-socket-reset-twice.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-reset-twice.js)
|
- [parallel/test-net-socket-reset-twice.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-reset-twice.js)
|
||||||
- [parallel/test-net-socket-timeout.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-socket-timeout.js)
|
|
||||||
- [parallel/test-net-stream.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-stream.js)
|
- [parallel/test-net-stream.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-stream.js)
|
||||||
- [parallel/test-net-throttle.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-throttle.js)
|
- [parallel/test-net-throttle.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-throttle.js)
|
||||||
- [parallel/test-net-write-after-close.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-write-after-close.js)
|
- [parallel/test-net-write-after-close.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-net-write-after-close.js)
|
||||||
|
@ -1662,7 +1637,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-readline-input-onerror.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-input-onerror.js)
|
- [parallel/test-readline-input-onerror.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-input-onerror.js)
|
||||||
- [parallel/test-readline-interface-no-trailing-newline.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-interface-no-trailing-newline.js)
|
- [parallel/test-readline-interface-no-trailing-newline.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-interface-no-trailing-newline.js)
|
||||||
- [parallel/test-readline-interface-recursive-writes.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-interface-recursive-writes.js)
|
- [parallel/test-readline-interface-recursive-writes.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-interface-recursive-writes.js)
|
||||||
- [parallel/test-readline-interface.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-interface.js)
|
|
||||||
- [parallel/test-readline-promises-interface.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-promises-interface.js)
|
- [parallel/test-readline-promises-interface.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-promises-interface.js)
|
||||||
- [parallel/test-readline-promises-tab-complete.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-promises-tab-complete.js)
|
- [parallel/test-readline-promises-tab-complete.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-promises-tab-complete.js)
|
||||||
- [parallel/test-readline-tab-complete.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-tab-complete.js)
|
- [parallel/test-readline-tab-complete.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-readline-tab-complete.js)
|
||||||
|
@ -2103,7 +2077,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-tracing-no-crash.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-tracing-no-crash.js)
|
- [parallel/test-tracing-no-crash.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-tracing-no-crash.js)
|
||||||
- [parallel/test-tty-backwards-api.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-tty-backwards-api.js)
|
- [parallel/test-tty-backwards-api.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-tty-backwards-api.js)
|
||||||
- [parallel/test-tty-stdin-pipe.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-tty-stdin-pipe.js)
|
- [parallel/test-tty-stdin-pipe.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-tty-stdin-pipe.js)
|
||||||
- [parallel/test-ttywrap-invalid-fd.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-ttywrap-invalid-fd.js)
|
|
||||||
- [parallel/test-ttywrap-stack.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-ttywrap-stack.js)
|
- [parallel/test-ttywrap-stack.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-ttywrap-stack.js)
|
||||||
- [parallel/test-unhandled-exception-rethrow-error.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-unhandled-exception-rethrow-error.js)
|
- [parallel/test-unhandled-exception-rethrow-error.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-unhandled-exception-rethrow-error.js)
|
||||||
- [parallel/test-unhandled-exception-with-worker-inuse.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-unhandled-exception-with-worker-inuse.js)
|
- [parallel/test-unhandled-exception-with-worker-inuse.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-unhandled-exception-with-worker-inuse.js)
|
||||||
|
@ -2126,7 +2099,6 @@ NOTE: This file should not be manually edited. Please edit `tests/node_compat/co
|
||||||
- [parallel/test-v8-flag-type-check.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-flag-type-check.js)
|
- [parallel/test-v8-flag-type-check.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-flag-type-check.js)
|
||||||
- [parallel/test-v8-flags.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-flags.js)
|
- [parallel/test-v8-flags.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-flags.js)
|
||||||
- [parallel/test-v8-getheapsnapshot-twice.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-getheapsnapshot-twice.js)
|
- [parallel/test-v8-getheapsnapshot-twice.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-getheapsnapshot-twice.js)
|
||||||
- [parallel/test-v8-serdes.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-serdes.js)
|
|
||||||
- [parallel/test-v8-serialize-leak.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-serialize-leak.js)
|
- [parallel/test-v8-serialize-leak.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-serialize-leak.js)
|
||||||
- [parallel/test-v8-startup-snapshot-api.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-startup-snapshot-api.js)
|
- [parallel/test-v8-startup-snapshot-api.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-startup-snapshot-api.js)
|
||||||
- [parallel/test-v8-stats.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-stats.js)
|
- [parallel/test-v8-stats.js](https://github.com/nodejs/node/tree/v20.11.1/test/parallel/test-v8-stats.js)
|
||||||
|
|
72
tests/node_compat/runner/challenge_new_test.ts
Normal file
72
tests/node_compat/runner/challenge_new_test.ts
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||||
|
// deno-lint-ignore-file no-console
|
||||||
|
|
||||||
|
import { deadline } from "@std/async/deadline";
|
||||||
|
import { ensureDir } from "@std/fs/ensure-dir";
|
||||||
|
import { copy } from "@std/fs/copy";
|
||||||
|
import { withoutAll } from "@std/collections/without-all";
|
||||||
|
import {
|
||||||
|
getDenoTests,
|
||||||
|
getNodeTests,
|
||||||
|
NODE_COMPAT_TEST_DEST_URL,
|
||||||
|
runNodeCompatTestCase,
|
||||||
|
VENDORED_NODE_TEST,
|
||||||
|
} from "../common.ts";
|
||||||
|
import { fromFileUrl } from "@std/path/from-file-url";
|
||||||
|
|
||||||
|
/** The timeout ms for single test execution. If a single test didn't finish in this timeout milliseconds, the test is considered as failure */
|
||||||
|
const TIMEOUT = 2000;
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const remainingTests = withoutAll(await getNodeTests(), await getDenoTests());
|
||||||
|
|
||||||
|
console.log(`Remaining tests: ${remainingTests.length}`);
|
||||||
|
const success = [] as string[];
|
||||||
|
let i = 0;
|
||||||
|
|
||||||
|
Deno.addSignalListener("SIGINT", () => {
|
||||||
|
console.log(`Success: ${success.length}`);
|
||||||
|
for (const testPath of success) {
|
||||||
|
console.log(testPath);
|
||||||
|
}
|
||||||
|
Deno.exit(1);
|
||||||
|
});
|
||||||
|
|
||||||
|
for (const testPath of remainingTests) {
|
||||||
|
i++;
|
||||||
|
const source = new URL(testPath, VENDORED_NODE_TEST);
|
||||||
|
const dest = new URL(testPath, NODE_COMPAT_TEST_DEST_URL);
|
||||||
|
|
||||||
|
await ensureDir(new URL(".", dest));
|
||||||
|
await copy(source, dest);
|
||||||
|
const num = String(i).padStart(4, " ");
|
||||||
|
try {
|
||||||
|
const cp = await runNodeCompatTestCase(
|
||||||
|
fromFileUrl(dest),
|
||||||
|
AbortSignal.timeout(TIMEOUT),
|
||||||
|
);
|
||||||
|
const result = await deadline(cp.output(), TIMEOUT + 1000);
|
||||||
|
if (result.code === 0) {
|
||||||
|
console.log(`${num} %cPASS`, "color: green", testPath);
|
||||||
|
success.push(testPath);
|
||||||
|
} else {
|
||||||
|
console.log(`${num} %cFAIL`, "color: red", testPath);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
if (e instanceof DOMException && e.name === "TimeoutError") {
|
||||||
|
console.log(`${num} %cFAIL`, "color: red", testPath);
|
||||||
|
} else {
|
||||||
|
console.log(`Unexpected Error`, e);
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
await Deno.remove(dest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(`Success: ${success.length}`);
|
||||||
|
for (const testPath of success) {
|
||||||
|
console.log(testPath);
|
||||||
|
}
|
||||||
|
Deno.exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
await main();
|
|
@ -10,63 +10,20 @@ import { SEPARATOR } from "@std/path/constants";
|
||||||
import { ensureFile } from "@std/fs/ensure-file";
|
import { ensureFile } from "@std/fs/ensure-file";
|
||||||
import { writeAll } from "@std/io/write-all";
|
import { writeAll } from "@std/io/write-all";
|
||||||
import { withoutAll } from "@std/collections/without-all";
|
import { withoutAll } from "@std/collections/without-all";
|
||||||
import { relative } from "@std/path/posix/relative";
|
|
||||||
import { version } from "./suite/node_version.ts";
|
import { version } from "./suite/node_version.ts";
|
||||||
|
import {
|
||||||
import { config, ignoreList } from "../common.ts";
|
config,
|
||||||
|
getDenoTests,
|
||||||
|
getNodeTests,
|
||||||
|
ignoreList,
|
||||||
|
NODE_COMPAT_TEST_DEST_URL,
|
||||||
|
VENDORED_NODE_TEST,
|
||||||
|
} from "../common.ts";
|
||||||
|
|
||||||
const encoder = new TextEncoder();
|
const encoder = new TextEncoder();
|
||||||
|
|
||||||
const NODE_VERSION = version;
|
const NODE_VERSION = version;
|
||||||
|
|
||||||
export const NODE_IGNORED_TEST_DIRS = [
|
|
||||||
"addons",
|
|
||||||
"async-hooks",
|
|
||||||
"cctest",
|
|
||||||
"common",
|
|
||||||
"doctool",
|
|
||||||
"embedding",
|
|
||||||
"fixtures",
|
|
||||||
"fuzzers",
|
|
||||||
"js-native-api",
|
|
||||||
"node-api",
|
|
||||||
"overlapped-checker",
|
|
||||||
"report",
|
|
||||||
"testpy",
|
|
||||||
"tick-processor",
|
|
||||||
"tools",
|
|
||||||
"v8-updates",
|
|
||||||
"wasi",
|
|
||||||
"wpt",
|
|
||||||
];
|
|
||||||
|
|
||||||
export const VENDORED_NODE_TEST = new URL("./suite/test/", import.meta.url);
|
|
||||||
export const NODE_COMPAT_TEST_DEST_URL = new URL(
|
|
||||||
"../test/",
|
|
||||||
import.meta.url,
|
|
||||||
);
|
|
||||||
|
|
||||||
export async function getNodeTests(): Promise<string[]> {
|
|
||||||
const paths: string[] = [];
|
|
||||||
const rootPath = VENDORED_NODE_TEST.href.slice(7);
|
|
||||||
for await (
|
|
||||||
const item of walk(VENDORED_NODE_TEST, { exts: [".js"] })
|
|
||||||
) {
|
|
||||||
const path = relative(rootPath, item.path);
|
|
||||||
if (NODE_IGNORED_TEST_DIRS.every((dir) => !path.startsWith(dir))) {
|
|
||||||
paths.push(path);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return paths.sort();
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getDenoTests() {
|
|
||||||
return Object.entries(config.tests)
|
|
||||||
.filter(([testDir]) => !NODE_IGNORED_TEST_DIRS.includes(testDir))
|
|
||||||
.flatMap(([testDir, tests]) => tests.map((test) => testDir + "/" + test));
|
|
||||||
}
|
|
||||||
|
|
||||||
async function updateToDo() {
|
async function updateToDo() {
|
||||||
using file = await Deno.open(new URL("./TODO.md", import.meta.url), {
|
using file = await Deno.open(new URL("./TODO.md", import.meta.url), {
|
||||||
write: true,
|
write: true,
|
||||||
|
@ -75,7 +32,7 @@ async function updateToDo() {
|
||||||
});
|
});
|
||||||
|
|
||||||
const nodeTests = await getNodeTests();
|
const nodeTests = await getNodeTests();
|
||||||
const portedTests = getDenoTests();
|
const portedTests = await getDenoTests();
|
||||||
const remainingTests = withoutAll(nodeTests, portedTests);
|
const remainingTests = withoutAll(nodeTests, portedTests);
|
||||||
const numPorted = portedTests.length;
|
const numPorted = portedTests.length;
|
||||||
const numMissing = remainingTests.length;
|
const numMissing = remainingTests.length;
|
||||||
|
@ -167,7 +124,9 @@ await copyTests();
|
||||||
await updateToDo();
|
await updateToDo();
|
||||||
|
|
||||||
if (Deno.args[0] === "--check") {
|
if (Deno.args[0] === "--check") {
|
||||||
const cmd = new Deno.Command("git", { args: ["status", "-s"] });
|
const cmd = new Deno.Command("git", {
|
||||||
|
args: ["status", "-s", "tests/node_compat/test"],
|
||||||
|
});
|
||||||
const { stdout } = await cmd.output();
|
const { stdout } = await cmd.output();
|
||||||
|
|
||||||
if (stdout.length > 0) {
|
if (stdout.length > 0) {
|
||||||
|
|
|
@ -24,6 +24,7 @@ import {
|
||||||
config,
|
config,
|
||||||
getPathsFromTestSuites,
|
getPathsFromTestSuites,
|
||||||
partitionParallelTestPaths,
|
partitionParallelTestPaths,
|
||||||
|
runNodeCompatTestCase,
|
||||||
} from "./common.ts";
|
} from "./common.ts";
|
||||||
|
|
||||||
// If the test case is invoked like
|
// If the test case is invoked like
|
||||||
|
@ -40,7 +41,6 @@ const testPaths = partitionParallelTestPaths(
|
||||||
testPaths.sequential = distinct(testPaths.sequential);
|
testPaths.sequential = distinct(testPaths.sequential);
|
||||||
testPaths.parallel = distinct(testPaths.parallel);
|
testPaths.parallel = distinct(testPaths.parallel);
|
||||||
|
|
||||||
const cwd = new URL(".", import.meta.url);
|
|
||||||
const windowsIgnorePaths = new Set(
|
const windowsIgnorePaths = new Set(
|
||||||
getPathsFromTestSuites(config.windowsIgnore),
|
getPathsFromTestSuites(config.windowsIgnore),
|
||||||
);
|
);
|
||||||
|
@ -49,13 +49,6 @@ const darwinIgnorePaths = new Set(
|
||||||
);
|
);
|
||||||
|
|
||||||
const decoder = new TextDecoder();
|
const decoder = new TextDecoder();
|
||||||
let testSerialId = 0;
|
|
||||||
|
|
||||||
function parseFlags(source: string): string[] {
|
|
||||||
const line = /^\/\/ Flags: (.+)$/um.exec(source);
|
|
||||||
if (line == null) return [];
|
|
||||||
return line[1].split(" ");
|
|
||||||
}
|
|
||||||
|
|
||||||
async function runTest(t: Deno.TestContext, path: string): Promise<void> {
|
async function runTest(t: Deno.TestContext, path: string): Promise<void> {
|
||||||
// If filter patterns are given and any pattern doesn't match
|
// If filter patterns are given and any pattern doesn't match
|
||||||
|
@ -77,60 +70,7 @@ async function runTest(t: Deno.TestContext, path: string): Promise<void> {
|
||||||
sanitizeExit: false,
|
sanitizeExit: false,
|
||||||
fn: async () => {
|
fn: async () => {
|
||||||
const testCase = join(toolsPath, "test", path);
|
const testCase = join(toolsPath, "test", path);
|
||||||
|
const command = await runNodeCompatTestCase(testCase);
|
||||||
const v8Flags = ["--stack-size=4000"];
|
|
||||||
const testSource = await Deno.readTextFile(testCase);
|
|
||||||
const envVars: Record<string, string> = {};
|
|
||||||
const knownGlobals: string[] = [];
|
|
||||||
parseFlags(testSource).forEach((flag) => {
|
|
||||||
switch (flag) {
|
|
||||||
case "--expose_externalize_string":
|
|
||||||
v8Flags.push("--expose-externalize-string");
|
|
||||||
knownGlobals.push("createExternalizableString");
|
|
||||||
break;
|
|
||||||
case "--expose-gc":
|
|
||||||
v8Flags.push("--expose-gc");
|
|
||||||
knownGlobals.push("gc");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (knownGlobals.length > 0) {
|
|
||||||
envVars["NODE_TEST_KNOWN_GLOBALS"] = knownGlobals.join(",");
|
|
||||||
}
|
|
||||||
// TODO(nathanwhit): once we match node's behavior on executing
|
|
||||||
// `node:test` tests when we run a file, we can remove this
|
|
||||||
const usesNodeTest = testSource.includes("node:test");
|
|
||||||
const args = [
|
|
||||||
usesNodeTest ? "test" : "run",
|
|
||||||
"-A",
|
|
||||||
"--quiet",
|
|
||||||
//"--unsafely-ignore-certificate-errors",
|
|
||||||
"--unstable-unsafe-proto",
|
|
||||||
"--unstable-bare-node-builtins",
|
|
||||||
"--unstable-fs",
|
|
||||||
"--v8-flags=" + v8Flags.join(),
|
|
||||||
];
|
|
||||||
if (usesNodeTest) {
|
|
||||||
// deno test typechecks by default + we want to pass script args
|
|
||||||
args.push("--no-check", "runner.ts", "--", testCase);
|
|
||||||
} else {
|
|
||||||
args.push("runner.ts", testCase);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pipe stdout in order to output each test result as Deno.test output
|
|
||||||
// That way the tests will respect the `--quiet` option when provided
|
|
||||||
const command = new Deno.Command(Deno.execPath(), {
|
|
||||||
args,
|
|
||||||
env: {
|
|
||||||
TEST_SERIAL_ID: String(testSerialId++),
|
|
||||||
...envVars,
|
|
||||||
},
|
|
||||||
cwd,
|
|
||||||
stdout: "piped",
|
|
||||||
stderr: "piped",
|
|
||||||
}).spawn();
|
|
||||||
const warner = setTimeout(() => {
|
const warner = setTimeout(() => {
|
||||||
console.error(`Test is running slow: ${testCase}`);
|
console.error(`Test is running slow: ${testCase}`);
|
||||||
}, 2 * 60_000);
|
}, 2 * 60_000);
|
||||||
|
|
Loading…
Reference in a new issue