Commit Graph
169 Commits
Author SHA1 Message Date
RafaelGSS b009466555 2025-04-23, Version 22.15.0 'Jod' (LTS)
Notable changes:

assert:
  * (SEMVER-MINOR) implement partial error comparison (Ruben Bridgewater) https://github.com/nodejs/node/pull/57370
  * (SEMVER-MINOR) improve partialDeepStrictEqual (Ruben Bridgewater) https://github.com/nodejs/node/pull/57370
cli:
  * (SEMVER-MINOR) allow --cpu-prof* in NODE_OPTIONS (Carlos Espa) https://github.com/nodejs/node/pull/57018
crypto:
  * update root certificates to NSS 3.108 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/57381
  * (SEMVER-MINOR) support --use-system-ca on Windows (Joyee Cheung) https://github.com/nodejs/node/pull/56833
  * (SEMVER-MINOR) added support for reading certificates from macOS system store (Tim Jacomb) https://github.com/nodejs/node/pull/56599
deps:
  * update timezone to 2025a (Node.js GitHub Bot) https://github.com/nodejs/node/pull/56876
deps,tools:
  * (SEMVER-MINOR) add zstd 1.5.6 (Jan Martin) https://github.com/nodejs/node/pull/52100
dns:
  * (SEMVER-MINOR) add TLSA record query and parsing (Rithvik Vibhu) https://github.com/nodejs/node/pull/52983
doc:
  * add @geeksilva97 to collaborators (Edy Silva) https://github.com/nodejs/node/pull/57241
module:
  * (SEMVER-MINOR) use synchronous hooks for preparsing in import(cjs) (Joyee Cheung) https://github.com/nodejs/node/pull/55698
  * (SEMVER-MINOR) implement module.registerHooks() (Joyee Cheung) https://github.com/nodejs/node/pull/55698
process:
  * (SEMVER-MINOR) add execve (Paolo Insogna) https://github.com/nodejs/node/pull/56496
  * (SEMVER-MINOR) add threadCpuUsage (Paolo Insogna) https://github.com/nodejs/node/pull/56467
sqlite:
  * (SEMVER-MINOR) add StatementSync.prototype.columns() (Colin Ihrig) https://github.com/nodejs/node/pull/57490
  * (SEMVER-MINOR) allow returning `ArrayBufferView`s from user-defined functions (René) https://github.com/nodejs/node/pull/56790
src:
  * set signal inspector io thread name (RafaelGSS) https://github.com/nodejs/node/pull/56416
  * set thread name for main thread and v8 worker (RafaelGSS) https://github.com/nodejs/node/pull/56416
  * set worker thread name using worker.name (RafaelGSS) https://github.com/nodejs/node/pull/56416
  * use a default thread name for inspector (RafaelGSS) https://github.com/nodejs/node/pull/56416
tls:
  * (SEMVER-MINOR) implement tls.getCACertificates() (Joyee Cheung) https://github.com/nodejs/node/pull/57107
util:
  * (SEMVER-MINOR) expose diff function used by the assertion errors (Giovanni Bucci) https://github.com/nodejs/node/pull/57462
v8:
  * (SEMVER-MINOR) add v8.getCppHeapStatistics() method (Aditi) https://github.com/nodejs/node/pull/57146
zlib:
  * (SEMVER-MINOR) add zstd support (Jan Martin) https://github.com/nodejs/node/pull/52100

PR-URL: https://github.com/nodejs/node/pull/57840
2025-04-18 10:43:11 -03:00
Pietro Marchini 1b33b976ec test_runner: refactor testPlan counter increse
PR-URL: https://github.com/nodejs/node/pull/56765
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
2025-04-17 10:51:37 -03:00
Eddie Abbondanzio d860f2bf42 test_runner: differentiate test types in enqueue dequeue events
PR-URL: https://github.com/nodejs/node/pull/54049
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
2025-04-17 10:51:37 -03:00
Antoine du Hamel 5d2feb257b 2025-02-11, Version 22.14.0 'Jod' (LTS)
Notable changes:

crypto:
  * update root certificates to NSS 3.107 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/56566
fs:
  * (SEMVER-MINOR) allow `exclude` option in globs to accept glob patterns (Daeyeon Jeong) https://github.com/nodejs/node/pull/56489
lib:
  * (SEMVER-MINOR) add typescript support to STDIN eval (Marco Ippolito) https://github.com/nodejs/node/pull/56359
module:
  * (SEMVER-MINOR) add ERR_UNSUPPORTED_TYPESCRIPT_SYNTAX (Marco Ippolito) https://github.com/nodejs/node/pull/56610
  * (SEMVER-MINOR) add `findPackageJSON` util (Jacob Smith) https://github.com/nodejs/node/pull/55412
process:
  * (SEMVER-MINOR) add process.ref() and process.unref() methods (James M Snell) https://github.com/nodejs/node/pull/56400
sqlite:
  * (SEMVER-MINOR) support TypedArray and DataView in `StatementSync` (Alex Yang) https://github.com/nodejs/node/pull/56385
src:
  * (SEMVER-MINOR) add --disable-sigusr1 to prevent signal i/o thread (Rafael Gonzaga) https://github.com/nodejs/node/pull/56441
src,worker:
  * (SEMVER-MINOR) add isInternalWorker (Carlos Espa) https://github.com/nodejs/node/pull/56469
test_runner:
  * (SEMVER-MINOR) add TestContext.prototype.waitFor() (Colin Ihrig) https://github.com/nodejs/node/pull/56595
  * (SEMVER-MINOR) add t.assert.fileSnapshot() (Colin Ihrig) https://github.com/nodejs/node/pull/56459
  * (SEMVER-MINOR) add assert.register() API (Colin Ihrig) https://github.com/nodejs/node/pull/56434
worker:
  * (SEMVER-MINOR) add eval ts input (Marco Ippolito) https://github.com/nodejs/node/pull/56394

PR-URL: https://github.com/nodejs/node/pull/56910
2025-02-10 17:22:55 +01:00
Colin Ihrig 697a851fb3 test_runner: add TestContext.prototype.waitFor()
This commit adds a waitFor() method to the TestContext class in
the test runner. As the name implies, this method allows tests to
more easily wait for things to happen.

PR-URL: https://github.com/nodejs/node/pull/56595
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2025-02-03 20:10:03 +01:00
Colin Ihrig 047537b48c test_runner: add t.assert.fileSnapshot()
This commit adds a t.assert.fileSnapshot() API to the test runner.
This is similar to how snapshot tests work in core, as well as
userland options such as toMatchFileSnapshot().

PR-URL: https://github.com/nodejs/node/pull/56459
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2025-02-03 20:09:57 +01:00
Colin Ihrig 926cf84e95 test_runner: add assert.register() API
This commit adds a top level assert.register() API to the test
runner. This function allows users to define their own custom
assertion functions on the TestContext.

Fixes: https://github.com/nodejs/node/issues/52033
PR-URL: https://github.com/nodejs/node/pull/56434
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
2025-02-03 20:09:53 +01:00
Colin Ihrig fb4661a4cf test_runner: finish marking snapshot testing as stable
Snapshot testing was marked stable in #55897. These were
overlooked at the time.

Refs: https://github.com/nodejs/node/pull/55897
PR-URL: https://github.com/nodejs/node/pull/56425
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2025-02-03 20:09:53 +01:00
Nathan Baulch 928540d792 doc: fix typos
PR-URL: https://github.com/nodejs/node/pull/55066
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-01-30 19:20:38 +01:00
Ruy Adorno 48726ac59b 2025-01-07, Version 22.13.0 'Jod' (LTS)
Notable changes:

assert:
  * (SEMVER-MINOR) add partialDeepStrictEqual (Giovanni Bucci) https://github.com/nodejs/node/pull/54630
cli:
  * (SEMVER-MINOR) implement --trace-env and --trace-env-[js|native]-stack (Joyee Cheung) https://github.com/nodejs/node/pull/55604
crypto:
  * graduate WebCryptoAPI Ed25519 and X25519 algorithms as stable (Filip Skokan) https://github.com/nodejs/node/pull/56142
dgram:
  * (SEMVER-MINOR) support blocklist in udp (theanarkh) https://github.com/nodejs/node/pull/56087
doc:
  * stabilize util.styleText (Rafael Gonzaga) https://github.com/nodejs/node/pull/56265
  * move typescript support to active development (Marco Ippolito) https://github.com/nodejs/node/pull/55536
  * add LJHarb to collaborators (Jordan Harband) https://github.com/nodejs/node/pull/56132
  * (SEMVER-MINOR) add report version and history section (Chengzhong Wu) https://github.com/nodejs/node/pull/56130
  * (SEMVER-MINOR) sort --report-exclude alphabetically (Rafael Gonzaga) https://github.com/nodejs/node/pull/55788
doc,lib,src,test:
  * (SEMVER-MINOR) unflag sqlite module (Colin Ihrig) https://github.com/nodejs/node/pull/55890
module:
  * (SEMVER-MINOR) only emit require(esm) warning under --trace-require-module (Joyee Cheung) https://github.com/nodejs/node/pull/56194
  * (SEMVER-MINOR) add module.stripTypeScriptTypes (Marco Ippolito) https://github.com/nodejs/node/pull/55282
net:
  * (SEMVER-MINOR) support blocklist in net.connect (theanarkh) https://github.com/nodejs/node/pull/56075
  * (SEMVER-MINOR) add SocketAddress.parse (James M Snell) https://github.com/nodejs/node/pull/56076
  * (SEMVER-MINOR) add net.BlockList.isBlockList(value) (James M Snell) https://github.com/nodejs/node/pull/56078
  * (SEMVER-MINOR) support blocklist for net.Server (theanarkh) https://github.com/nodejs/node/pull/56079
process:
  * (SEMVER-MINOR) deprecate `features.{ipv6,uv}` and `features.tls_*` (René) https://github.com/nodejs/node/pull/55545
report:
  * (SEMVER-MINOR) fix typos in report keys and bump the version (Yuan-Ming Hsu) https://github.com/nodejs/node/pull/56068
sqlite:
  * (SEMVER-MINOR) aggregate constants in a single property (Edigleysson Silva (Edy)) https://github.com/nodejs/node/pull/56213
  * (SEMVER-MINOR) add `StatementSync.prototype.iterate` method (tpoisseau) https://github.com/nodejs/node/pull/54213
src:
  * (SEMVER-MINOR) add cli option to preserve env vars on dr (Rafael Gonzaga) https://github.com/nodejs/node/pull/55697
src,lib:
  * (SEMVER-MINOR) stabilize permission model (Rafael Gonzaga) https://github.com/nodejs/node/pull/56201
util:
  * (SEMVER-MINOR) add sourcemap support to getCallSites (Marco Ippolito) https://github.com/nodejs/node/pull/55589

PR-URL: https://github.com/nodejs/node/pull/56329
2025-01-06 10:57:22 -05:00
Livia Medeiros 312bb4dff8 tools: lint js in doc/**/*.md
PR-URL: https://github.com/nodejs/node/pull/55904
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-01-05 12:57:24 -05:00
Colin Ihrig 8c065dc61e test_runner: mark context.plan() as stable
This function does not require a CLI flag, does not emit a warning,
and is a fairly simple API that is already being used heavily in
the ecosystem. This commit marks context.plan() as stable.

PR-URL: https://github.com/nodejs/node/pull/55895
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
2025-01-05 12:57:24 -05:00
Colin Ihrig 8ff082cf48 test_runner: mark snapshot testing as stable
This commit marks the test runner's snapshot testing API as
stable.

PR-URL: https://github.com/nodejs/node/pull/55897
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
2025-01-05 12:57:22 -05:00
Antoine du Hamel d1bd0ef1b7 doc: remove non-working example
PR-URL: https://github.com/nodejs/node/pull/55856
Reviewed-By: Pietro Marchini <pietro.marchini94@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Raz Luvaton <rluvaton@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-11-27 11:03:36 -05:00
Antoine du Hamel afe4bc668d 2024-10-16, Version 22.10.0 (Current)
Notable changes:

crypto:
  * (SEMVER-MINOR) add `KeyObject.prototype.toCryptoKey` (Filip Skokan) https://github.com/nodejs/node/pull/55262
  * (SEMVER-MINOR) add Date fields for `validTo` and `validFrom` (Andrew Moon) https://github.com/nodejs/node/pull/54159
doc:
  * add abmusse to collaborators (Abdirahim Musse) https://github.com/nodejs/node/pull/55086
http2:
  * (SEMVER-MINOR) expose `nghttp2_option_set_stream_reset_rate_limit` as an option (Maël Nison) https://github.com/nodejs/node/pull/54875
lib:
  * (SEMVER-MINOR) propagate aborted state to dependent signals before firing events (jazelly) https://github.com/nodejs/node/pull/54826
module:
  * (SEMVER-MINOR) support loading entrypoint as url (RedYetiDev) https://github.com/nodejs/node/pull/54933
  * (SEMVER-MINOR) implement the `"module-sync"` exports condition (Joyee Cheung) https://github.com/nodejs/node/pull/54648
  * (SEMVER-MINOR) implement `flushCompileCache()` (Joyee Cheung) https://github.com/nodejs/node/pull/54971
  * (SEMVER-MINOR) throw when invalid argument is passed to `enableCompileCache()` (Joyee Cheung) https://github.com/nodejs/node/pull/54971
  * (SEMVER-MINOR) write compile cache to temporary file and then rename it (Joyee Cheung) https://github.com/nodejs/node/pull/54971
process:
  * (SEMVER-MINOR) add `process.features.require_module` (Joyee Cheung) https://github.com/nodejs/node/pull/55241
  * (SEMVER-MINOR) add `process.features.typescript` (Aviv Keller) https://github.com/nodejs/node/pull/54295
src:
  * mark `node --run` as stable (Yagiz Nizipli) https://github.com/nodejs/node/pull/53763
test_runner:
  * (SEMVER-MINOR) support custom arguments in `run()` (Aviv Keller) https://github.com/nodejs/node/pull/55126
  * (SEMVER-MINOR) add `'test:summary'` event (Colin Ihrig) https://github.com/nodejs/node/pull/54851
  * (SEMVER-MINOR) add support for coverage via `run()` (Chemi Atlow) https://github.com/nodejs/node/pull/53937
worker:
  * (SEMVER-MINOR) add `markAsUncloneable` api (Jason Zhang) https://github.com/nodejs/node/pull/55234

PR-URL: https://github.com/nodejs/node/pull/55343
2024-10-16 16:11:47 +02:00
Antoine du Hamel 873588888d Revert "doc: update test context.assert"
This reverts commit 7ddbfe8c2b.

PR-URL: https://github.com/nodejs/node/pull/55344
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-10-10 17:31:49 +02:00
Pietro Marchini 7ddbfe8c2b doc: update test context.assert
PR-URL: https://github.com/nodejs/node/pull/55186
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
2024-10-04 19:20:23 +02:00
Aviv Keller 12401972b7 test_runner: support typescript files in default glob
PR-URL: https://github.com/nodejs/node/pull/55081
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-10-04 19:20:17 +02:00
Aviv Keller 86f7cb802d test_runner: support custom arguments in run()
PR-URL: https://github.com/nodejs/node/pull/55126
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-10-04 19:20:15 +02:00
Aviv Keller 12c9d9780f doc: add missing : to run()'s globPatterns
PR-URL: https://github.com/nodejs/node/pull/55135
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-10-04 19:20:10 +02:00
Jonathan Sharpe 516c775fa5 doc: cover --experimental-test-module-mocks flag
PR-URL: https://github.com/nodejs/node/pull/55021
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-10-04 10:20:18 +02:00
Colin Ihrig b62f2f8259 test_runner: add 'test:summary' event
This commit adds a new 'test:summary' event to the test runner's
reporting interface. This new event serves two purposes:

- In the future, the test runner internals will no longer need to
  change the process exit code. This may be important to run()
  users. Unfortunately, this is a breaking change, so it needs to
  be changed in a major version.
- The reporting interface now has a single event that can identify
  passing or failing test runs.

Refs: https://github.com/nodejs/node/issues/53867
Refs: https://github.com/nodejs/node/issues/54812
PR-URL: https://github.com/nodejs/node/pull/54851
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2024-10-04 10:20:18 +02:00
Chemi Atlow d7c708aec5 test_runner: add support for coverage via run()
PR-URL: https://github.com/nodejs/node/pull/53937
Fixes: https://github.com/nodejs/node/issues/53867
Refs: https://github.com/nodejs/node/issues/53924
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2024-10-04 10:20:12 +02:00
Aviv Keller a52c199d9d test_runner: report coverage thresholds in test:coverage
PR-URL: https://github.com/nodejs/node/pull/54813
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2024-09-16 23:20:16 -03:00
cjihrig 3396a4954d test_runner: detect only tests when isolation is off
This commit updates the way the test runner processes 'only'
tests when process-based test isolation is disabled. The
--test-only flag is no longer necessary in this scenario. The
test runner will automatically detect 'only' tests and apply the
appropriate filtering.

PR-URL: https://github.com/nodejs/node/pull/54832
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-09-16 23:20:16 -03:00
RafaelGSS 78ee90e5d9 2024-09-03, Version 22.8.0 (Current)
Notable changes:

net:
  * (SEMVER-MINOR) exclude ipv6 loopback addresses from server.listen (Giovanni Bucci) https://github.com/nodejs/node/pull/54264
src:
  * (SEMVER-MINOR) add JS APIs for compile cache and NODE_DISABLE_COMPILE_CACHE (Joyee Cheung) https://github.com/nodejs/node/pull/54501
src,lib:
  * (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) https://github.com/nodejs/node/pull/54413
test_runner:
  * (SEMVER-MINOR) add support for coverage thresholds (Aviv Keller) https://github.com/nodejs/node/pull/54429
  * (SEMVER-MINOR) support running tests in process (Colin Ihrig) https://github.com/nodejs/node/pull/53927
  * (SEMVER-MINOR) defer inheriting hooks until run() (Colin Ihrig) https://github.com/nodejs/node/pull/53927
vm:
  * (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) https://github.com/nodejs/node/pull/54394

PR-URL: https://github.com/nodejs/node/pull/54560
2024-09-03 00:11:03 -03:00
Aviv Keller c499913732 doc: fix information about including coverage files
PR-URL: https://github.com/nodejs/node/pull/54527
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2024-08-30 15:52:14 -03:00
cjihrigandMoshe Atlow 97fa075c2e 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-30 15:52:06 -03:00
Antoine du Hamel 1c29e74d30 test_runner: make mock.module's specifier consistent with import()
The previous implementation was trying to follow both `require` and
`import` conventions. It is not practical to try to follow both,
and aligning with `import()` seems to be what makes the most sense.

PR-URL: https://github.com/nodejs/node/pull/54416
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-08-25 18:19:12 -03:00
Eddie Abbondanzio db3b0df42c doc: add missing new lines to custom test reporter examples
PR-URL: https://github.com/nodejs/node/pull/54152
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Harshitha K P <harshitha014@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
2024-08-14 08:14:49 +02:00
RafaelGSS b096e41b48 2024-08-06, Version 22.6.0 (Current)
Notable changes:

deps:
  * (SEMVER-MINOR) V8: backport 7857eb34db42 (Stephen Belanger) https://github.com/nodejs/node/pull/53997
http:
  * (SEMVER-MINOR) add diagnostics channel `http.client.request.error` (Kohei Ueno) https://github.com/nodejs/node/pull/54054
inspector:
  * (SEMVER-MINOR) add initial support for network inspection (Kohei Ueno) https://github.com/nodejs/node/pull/53593
lib,src:
  * drop --experimental-network-imports (Rafael Gonzaga) https://github.com/nodejs/node/pull/53822
meta:
  * add jake to collaborators (jakecastelli) https://github.com/nodejs/node/pull/54004
module:
  * (SEMVER-MINOR) add --experimental-strip-types (Marco Ippolito) https://github.com/nodejs/node/pull/53725
stream:
  * (SEMVER-MINOR) expose DuplexPair API (Austin Wright) https://github.com/nodejs/node/pull/34111
test_runner:
  * (SEMVER-MINOR) fix support watch with run(), add globPatterns option (Matteo Collina) https://github.com/nodejs/node/pull/53866
  * (SEMVER-MINOR) refactor snapshots to get file from context (Colin Ihrig) https://github.com/nodejs/node/pull/53853
  * (SEMVER-MINOR) add context.filePath (Colin Ihrig) https://github.com/nodejs/node/pull/53853

PR-URL: https://github.com/nodejs/node/pull/54123
2024-08-05 14:23:50 -03:00
Matteo Collina 893c864542 test_runner: fix support watch with run(), add globPatterns option
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: https://github.com/nodejs/node/pull/53866
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-08-05 11:15:43 -03:00
cjihrig 698e44f8e7 test_runner: add context.filePath
This commit adds a filePath getter to the TestContext and
SuiteContext classes. This allows a context to be mapped back to
the original test file that created it, even if it was imported
from another file. This is useful for mapping features like test
snapshots to the correct test file. This is also prep work for
supporting running test files in the test runner process.

PR-URL: https://github.com/nodejs/node/pull/53853
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2024-07-28 08:53:26 +02:00
Aviv Keller 3a0fcbb17a test_runner: support glob matching coverage files
PR-URL: https://github.com/nodejs/node/pull/53553
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2024-07-16 12:06:33 +02:00
Sébastien Règne a1a5ad848d doc: use mock.callCount() in examples
PR-URL: https://github.com/nodejs/node/pull/53754
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Raz Luvaton <rluvaton@gmail.com>
2024-07-16 12:01:18 +02:00
Emil Tayeb 2cf60964e6 doc: fix doc for correct usage with plan & TestContext
Fixed section in the doc that describes a test that uses the ⁠plan
feature in the test-runner.
However, the test in this example fails.
The fix use  (Textcontext) and reduce the plan number
to 1 since we have 1 assertion.

PR-URL: https://github.com/nodejs/node/pull/53615
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-07-16 12:01:06 +02:00
Eliphaz Bouye de99d69d75 doc: clarify usage of coverage reporters
PR-URL: https://github.com/nodejs/node/pull/53523
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
2024-07-16 12:01:03 +02:00
Aviv Keller 519c328dcf doc: document addition testing options
PR-URL: https://github.com/nodejs/node/pull/53569
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-07-16 12:01:03 +02:00
EhsanKhaki fa113b8fc7 doc: fix typo
PR-URL: https://github.com/nodejs/node/pull/53397
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2024-06-20 14:40:41 +02:00
RafaelGSS 2e7a7765d6 2024-06-11, Version 22.3.0 (Current)
Notable changes:

buffer:
  * (SEMVER-MINOR) add .bytes() method to Blob (Matthew Aitken) https://github.com/nodejs/node/pull/53221
cli:
  * (SEMVER-MINOR) add `NODE_RUN_PACKAGE_JSON_PATH` env (Yagiz Nizipli) https://github.com/nodejs/node/pull/53058
  * (SEMVER-MINOR) add `NODE_RUN_SCRIPT_NAME` env to `node --run` (Yagiz Nizipli) https://github.com/nodejs/node/pull/53032
doc:
  * (SEMVER-MINOR) add context.assert docs (Colin Ihrig) https://github.com/nodejs/node/pull/53169
  * (SEMVER-MINOR) improve explanation about built-in modules (Joyee Cheung) https://github.com/nodejs/node/pull/52762
  * add StefanStojanovic to collaborators (StefanStojanovic) https://github.com/nodejs/node/pull/53118
  * add Marco Ippolito to TSC (Rafael Gonzaga) https://github.com/nodejs/node/pull/53008
fs:
  * mark recursive cp methods as stable (Théo LUDWIG) https://github.com/nodejs/node/pull/53127
lib:
  * (SEMVER-MINOR) add EventSource Client (Aras Abbasi) https://github.com/nodejs/node/pull/51575
  * (SEMVER-MINOR) replace MessageEvent with undici's (Matthew Aitken) https://github.com/nodejs/node/pull/52370
module:
  * (SEMVER-MINOR) print amount of load time of a cjs module (Vinicius Lourenço) https://github.com/nodejs/node/pull/52213
net:
  * (SEMVER-MINOR) add new net.server.listen tracing channel (Paolo Insogna) https://github.com/nodejs/node/pull/53136
process:
  * (SEMVER-MINOR) add process.getBuiltinModule(id) (Joyee Cheung) https://github.com/nodejs/node/pull/52762
src:
  * (SEMVER-MINOR) traverse parent folders while running `--run` (Yagiz Nizipli) https://github.com/nodejs/node/pull/53154
src,permission:
  * (SEMVER-MINOR) --allow-wasi & prevent WASI exec (Rafael Gonzaga) https://github.com/nodejs/node/pull/53124
test_runner:
  * (SEMVER-MINOR) add snapshot testing (Colin Ihrig) https://github.com/nodejs/node/pull/53169
  * (SEMVER-MINOR) add context.fullName (Colin Ihrig) https://github.com/nodejs/node/pull/53169
  * (SEMVER-MINOR) support module mocking (Colin Ihrig) https://github.com/nodejs/node/pull/52848

PR-URL: https://github.com/nodejs/node/pull/53379
2024-06-10 09:53:43 -03:00
cjihrig 8c6dffc269 test_runner: add snapshot testing
This commit adds a t.assert.snapshot() method that implements
snapshot testing. Serialization uses JSON.stringify() by default,
but users can configure the serialization to meet their needs.

PR-URL: https://github.com/nodejs/node/pull/53169
Fixes: https://github.com/nodejs/node/issues/48260
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
2024-06-01 10:55:09 +02:00
cjihrig 048478d351 doc: add context.assert docs
When context.assert was added, no docs were added. This commit
adds initial documentation for context.assert because the
snapshot() function requires them.

PR-URL: https://github.com/nodejs/node/pull/53169
Refs: https://github.com/nodejs/node/pull/52860
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
2024-06-01 10:55:09 +02:00
cjihrigandJacob Smith f6d2af8ee7 test_runner: add context.fullName
This commit adds a fullName getter to the TestContext and
SuiteContext classes. This is similar to the existing name getter,
but also includes the name of all ancestor tests/suites.

PR-URL: https://github.com/nodejs/node/pull/53169
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Co-authored-by: Jacob Smith <jacob@frende.me>
2024-06-01 10:55:09 +02:00
Moshe Atlow c249289121 test_runner,doc: align documentation with actual stdout/stderr behavior
PR-URL: https://github.com/nodejs/node/pull/53131
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-06-01 10:55:06 +02:00
Deokjin Kim 070577e7d7 doc: fix wrong variable name in example of timers.tick()
Change variable name from `twoSeconds` to `threeSeconds` because
actual value is 3000(ms). And add missing supported timer
value(clearImmediate). Plus, fix typo(implicity -> implicitly).

PR-URL: https://github.com/nodejs/node/pull/53147
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
2024-06-01 10:55:04 +02:00
Deokjin Kim 7147c1df1f doc: fix wrong function name in example of context.plan()
t.subtest -> t.test

Refs: https://github.com/nodejs/node/pull/52860
PR-URL: https://github.com/nodejs/node/pull/53140
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-06-01 10:55:04 +02:00
Colin Ihrig 7a67ecf161 test_runner: support module mocking
This commit adds experimental module mocking to the test runner.

PR-URL: https://github.com/nodejs/node/pull/52848
Fixes: https://github.com/nodejs/node/issues/51164
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
2024-06-01 10:54:56 +02:00
Deokjin Kim 77fd504636 doc: add missing supported timer values in timers.enable()
Some timer values such as `setImmediate` and `clearImmediate` are
missed. And `milliseconds` which is argument of `timers.tick()`
is optional and default is 1.

Refs: https://github.com/nodejs/node/pull/49534#discussion_r1597457356
PR-URL: https://github.com/nodejs/node/pull/52969
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-05-21 15:50:13 +02:00
Michaël Zasso d57af10d1b 2024-05-15, Version 22.2.0 (Current)
Notable changes:

cli:
  * (SEMVER-MINOR) allow running wasm in limited vmem with
    --disable-wasm-trap-handler (Joyee Cheung)
    https://github.com/nodejs/node/pull/52766
doc:
  * add pimterry to collaborators (Tim Perry)
    https://github.com/nodejs/node/pull/52874
fs:
  * (SEMVER-MINOR) allow 'withFileTypes' to be used with globs
    (Aviv Keller) https://github.com/nodejs/node/pull/52837
inspector:
  * (SEMVER-MINOR) introduce the `--inspect-wait` flag (Kohei Ueno)
    https://github.com/nodejs/node/pull/52734
lib,src:
  * remove --experimental-policy (Rafael Gonzaga)
    https://github.com/nodejs/node/pull/52583
perf_hooks:
  * (SEMVER-MINOR) add `deliveryType` and `responseStatus` fields
    (Matthew Aitken) https://github.com/nodejs/node/pull/51589
test_runner:
  * (SEMVER-MINOR) support test plans (Colin Ihrig)
    https://github.com/nodejs/node/pull/52860
zlib:
  * (SEMVER-MINOR) expose zlib.crc32() (Joyee Cheung)
    https://github.com/nodejs/node/pull/52692

PR-URL: https://github.com/nodejs/node/pull/52971
2024-05-15 08:45:30 +02:00
Colin IhrigandMarco Ippolito 2f59529dc5 test_runner: support test plans
Co-Authored-By: Marco Ippolito <marcoippolito54@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/52860
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
2024-05-11 18:55:48 +02:00