node/test/fixtures
cjihrig cc26951180 test_runner: support running tests in process
This commit introduces a new --experimental-test-isolation flag
that, when set to 'none', causes the test runner to execute all
tests in the same process. By default, this is the main test
runner process, but if watch mode is enabled, it spawns a separate
process that runs all of the tests.

The default value of the new flag is 'process', which uses the
existing behavior of running each test file in its own child
process.

It is worth noting that when the isolation mode is 'none', globals
and all other top level logic (such as top level before() and after()
hooks) is shared among all files.

Co-authored-by: Moshe Atlow <moshe@atlow.co.il>
PR-URL: https://github.com/nodejs/node/pull/53927
Fixes: https://github.com/nodejs/node/issues/51548
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2024-08-21 13:39:19 +00:00
..
0-dns
apilinks
b
clustered-server
console lib: add diagnostics_channel events to module loading 2024-06-20 21:25:04 -03:00
copy/kitchen-sink
crypto
cycles
debugger
dotenv src: fix env-file flag to ignore spaces before quotes 2024-07-17 09:22:42 +00:00
errors test: make snapshot comparison more flexible 2024-08-16 14:29:22 +00:00
es-module-loaders module: unflag detect-module 2024-07-20 18:30:46 +00:00
es-module-require-cache esm: bypass CJS loader in default load under --default-type=module 2023-11-10 09:20:46 +01:00
es-module-shadow-realm module: bootstrap module loaders in shadow realm 2023-11-13 22:09:47 +08:00
es-module-specifiers
es-module-url
es-modules lib,src: drop --experimental-network-imports 2024-07-28 16:33:05 +00:00
GH-7131
global
inspector-instrumentation-breakpoint test: add Debugger.setInstrumentationBreakpoint known issue 2024-05-12 22:33:07 +02:00
internal-modules
json-with-directory-name-module
keys tls: fix order of setting cipher before setting cert and key 2023-11-16 14:40:37 +00:00
macos-app-sandbox
module-extension-over-directory
module-load-order
module-mocking test_runner: make mock_loader not confuse CJS and ESM resolution 2024-08-06 11:24:24 +02:00
module-require
module-require-symlink
nested-index
node_modules esm: fix hint on invalid module specifier 2023-12-23 20:38:08 +00:00
openssl3-conf
package-main-enoent
packages
permission lib,permission: support Buffer to permission.has 2024-08-03 16:46:57 +00:00
postject-copy
process process: port on-exit-leak-free to core 2024-07-11 17:57:20 +00:00
repl-folder-extensions/foo.js
require-bin
require-empty-main
resolve-paths
run-script test: add subtests to test-node-run 2024-08-06 15:47:52 +00:00
sea sea: support sea.getRawAsset() 2024-02-02 15:25:34 +01:00
self_ref_module
snapshot lib: account for cwd access from snapshot serialization cb 2024-02-29 20:55:00 +00:00
source-map lib: decorate async stack trace in source maps 2024-07-18 14:45:43 +00:00
syntax
test-init-index
test-init-native
test-module-loading-globalpaths
test-repl-tab-completion
test-runner test_runner: support running tests in process 2024-08-21 13:39:19 +00:00
tools/checkimports
typescript module: add --experimental-transform-types flag 2024-08-12 13:07:49 +00:00
uncaught-exceptions
v8 test: migrate message v8 tests from Python to JS 2023-10-29 05:55:01 +00:00
v8-coverage
vm
wasi
watch-mode test: use tmpdir.resolve() 2023-08-21 16:41:53 +00:00
workload
wpt test: update wpt test for streams 2024-08-06 05:57:48 +00:00
x509-escaping
.empty-hidden-repl-history-file
.empty-repl-history-file
.node_repl_history
a.js
aead-vectors.js
altdocs.md
assert-first-line.js
assert-long-line.js
async-error.js
baz.js
catch-stdout-error.js
child_process_should_emit_error.js
child-process-echo-options.js
child-process-message-and-exit.js
child-process-persistent.js
child-process-spawn-node.js
child-process-stay-alive-forever.js
cjs-module-wrap.js
cjs-module-wrapper.js
cluster-preload-test.js
cluster-preload.js
crash.wasm
crash.wat
debugger-repeat-last.js
debugger-util-regression-fixture.js
define-global.js
deprecated-userland-class.js
deprecated-userland-function.js
deprecated-userland-subclass.js
deprecated.js
destroy-stdin.js
disable-warning-worker.js src: add --disable-warning option 2023-11-21 20:30:02 +00:00
disable-warning.js src: add --disable-warning option 2023-11-21 20:30:02 +00:00
doc_inc_1.md
doc_inc_2.md
doc_with_backticks_in_headings.md
doc_with_yaml.md
document_with_cjs_and_esm_code_snippet.md
document_with_esm_and_cjs_code_snippet.md
document_with_links.md
document_with_special_heading.md
echo-close-check.js
echo.js
elipses.txt
empty-with-bom.txt
empty.cjs esm: do not call getSource when format is commonjs 2023-11-29 09:21:54 +00:00
empty.js
empty.json
empty.txt
emptyframe.http2
exit.js
experimental.json
exports-function-with-param.js
external-repl-module.js
failcounter.js
failmustcall1.js
failmustcall2.js
file-to-read-with-bom.txt
file-to-read-without-bom.txt
fixture.ini
foo
gc.js
GH-892-request.js
GH-1899-output.js
google_ssl_hello.bin
guess-hash-seed.js
icu-punycode-toascii.json
inspector-global-function.mjs
inspector-open.js
intrinsic-mutation.js
invalid.json
is-object.js
ispreloading.js
klass-with-fields.js
leakedGlobal.js
linux-perf-logger.js test: v8: Add test-linux-perf-logger test suite 2023-10-25 23:37:54 +00:00
linux-perf.js
loop.js
mime-whatwg-generated.js
mime-whatwg.js
module-loading-error.node
monkey-patch-run-main.js
net-fd-passing-receiver.js
no-wrapper.js
not-main-module.js
old-repl-history-file-faulty.json
old-repl-history-file-obj.json
openssl_fips_disabled.cnf
openssl_fips_enabled.cnf
order_of_end_tags_5873.md
out-of-bound.wasm
out-of-bound.wat
outside.txt
overwrite-config-preload-module.js
parent-process-nonpersistent-fork.js
parent-process-nonpersistent.js
path-resolve.js
path.js
person-large.jpg
person.jpg
person.jpg.br
person.jpg.gz
pkgexports.mjs
print A.js
print-10-lines.js
print-chars-from-buffer.js
print-chars.js
print-delayed.js
print-error-message.js
print-intrinsic-mutation-name.js
printA.js
printB.js
printC.js
pseudo-multimember-gzip.gz
pseudo-multimember-gzip.z
pss-vectors.json
readfile_pipe_test.txt
recursive-a.cjs esm: fix loading of CJS modules from ESM 2023-09-06 10:12:14 +00:00
recursive-b.cjs esm: fix loading of CJS modules from ESM 2023-09-06 10:12:14 +00:00
recvfd.js
registerExt2.test
registerExt.hello.world
registerExt.test
repl-load-multiline-no-trailing-newline.js
repl-load-multiline.js
repl-pretty-stack.js
repl-tab-completion-nested-repls.js
report-oom.js
require-resolve.js module: make CJS load from ESM loader 2023-08-13 04:23:05 +00:00
rsa-oaep-test-vectors.js
sample_document.md
sample.png
sea.js src: refactor embedded entrypoint loading 2024-07-05 19:58:35 +00:00
semicolon.js
shared-memory.wasm
shared-memory.wat
should_exit.js
simple.wasm
simple.wat
spawn_closed_stdio.py
spawn-worker-with-copied-env.js test: skip --title check on IBM i 2024-07-22 11:39:04 +00:00
spawn-worker-with-trace-exit.js worker: allow copied NODE_OPTIONS in the env setting 2024-07-05 18:40:03 +00:00
test-error-first-line-offset.js
test-fs-readfile-error.js
test-fs-stat-sync-overflow.js
test-resolution-inspect-brk-main.ext
test-resolution-inspect-brk-resolver.js
test-runner-watch.mjs test_runner: fix support watch with run(), add globPatterns option 2024-07-24 13:11:20 +00:00
throws_error1.js
throws_error2.js
throws_error3.js
throws_error4.js
throws_error5.js
throws_error6.js
throws_error7.js
throws_error.js
tls-connect.js Revert "util: move util._extend to eol" 2024-06-14 13:07:58 +00:00
tls-session-ticket.txt
tz-version.txt deps: update timezone to 2024a 2024-02-15 19:46:31 +00:00
url-idna.js
url-searchparams.js
url-setter-tests-additional.js
url-tests-additional.js
utf8_test_text.txt test: consolidate utf8 text fixtures in tests 2023-11-28 17:18:02 +00:00
utf8-bom-shebang-shebang.js
utf8-bom.js
utf8-bom.json
utf8-shebang-bom.js
warnings.js
wasi-preview-1.js test: split wasi tests 2024-02-24 17:55:27 +00:00
worker-data.cjs
worker-data.mjs
worker-from-argv.js
worker-name.js
worker-preload.js
worker-script.mjs
worker-script.ts
x1024.txt
x.txt