node/test
Joyee Cheung fa33ba3f76
Some checks failed
V8 patch update / v8-update (push) Has been cancelled
OpenSSL update / openssl-update (push) Has been cancelled
Timezone update / timezone_update (push) Has been cancelled
License update / update_license (push) Has been cancelled
Find inactive collaborators / find (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
Find inactive TSC voting members / find (push) Has been cancelled
Node.js daily job / build-lto (push) Has been cancelled
Run CodeQL / Analyze (cpp) (push) Has been cancelled
Run CodeQL / Analyze (javascript) (push) Has been cancelled
Run CodeQL / Analyze (python) (push) Has been cancelled
Close stalled issues and PRs / stale (push) Has been cancelled
Test internet / test-internet (push) Has been cancelled
test: fix flaky test-watch-mode-kill-signal-*
After the write triggers a restart of the grandchild, the newly
spawned second grandchild can post another 'script ready' message
before the stdout from the first grandchild is relayed by the
watcher and processed by this parent process to kill
the watcher. If we write again and trigger another restart, we can
end up in an infinite loop and never receive the stdout of the
grandchildren in time.
Only write once to verify the first grandchild process receives
the expected signal. We don't care about the subsequent grandchild
processes.

PR-URL: https://github.com/nodejs/node/pull/60443
Refs: https://github.com/nodejs/node/issues/60297
Refs: https://github.com/nodejs/node/pull/60391
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2025-11-01 11:15:52 +00:00
..
abort
addons test: ensure assertions are reachable in test/addons 2025-10-25 20:44:28 +02:00
async-hooks test: ensure assertions are reachable in test/async-hooks 2025-10-09 21:57:24 +00:00
benchmark test: fix typo of test-benchmark-readline.js 2025-09-30 15:21:49 +02:00
cctest test: fix small compile warning in test_network_requests_buffer.cc 2025-10-22 15:16:32 +00:00
client-proxy test: ignore EPIPE errors in https proxy invalid URL test 2025-10-18 05:43:08 +00:00
common lib: throw from localStorage getter on missing storage path 2025-10-31 19:48:29 +00:00
doctool test: ensure assertions are reachable in more folders 2025-10-29 15:16:59 +00:00
embedding
es-module esm: use sync loading/resolving on non-loader-hook thread 2025-10-31 20:45:10 +00:00
fixtures test: fix flaky test-watch-mode-kill-signal-* 2025-11-01 11:15:52 +00:00
fuzzers
internet test: fix internet/test-dns 2025-08-30 09:47:38 +00:00
js-native-api node-api: add napi_create_object_with_properties 2025-10-30 14:10:44 +00:00
known_issues test: ensure assertions are reachable in more folders 2025-10-29 15:16:59 +00:00
message tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
module-hooks esm: use sync loading/resolving on non-loader-hook thread 2025-10-31 20:45:10 +00:00
node-api tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
nop process: make execve's args argument optional 2025-07-26 02:35:57 +00:00
overlapped-checker
parallel test: fix flaky test-watch-mode-kill-signal-* 2025-11-01 11:15:52 +00:00
pseudo-tty tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
pummel tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
report worker: add worker name to report 2025-08-12 10:25:12 +00:00
sea test: ensure assertions are reachable in more folders 2025-10-29 15:16:59 +00:00
sequential test: ensure assertions are reachable in test/sequential 2025-10-29 16:29:39 +01:00
sqlite sqlite: fix crash session extension callbacks with workers 2025-09-23 14:41:39 +00:00
system-ca cli: add NODE_USE_SYSTEM_CA=1 2025-08-10 14:20:58 +00:00
test-runner test: split test-runner-watch-mode 2025-10-28 09:08:19 +00:00
test426
testpy build: upgrade Python linter ruff, add rules ASYNC,PERF 2025-10-08 07:37:31 +00:00
tick-processor
tools build: upgrade Python linter ruff, add rules ASYNC,PERF 2025-10-08 07:37:31 +00:00
v8-updates test: remove --always-turbofan flag 2025-10-04 18:48:39 +02:00
wasi tools: add lint rule to ensure assertions are reached 2025-10-07 12:40:05 +00:00
wasm-allocation
wpt test: fix status when compiled without inspector 2025-10-19 17:39:54 +00:00
eslint.config_partial.mjs test: ensure assertions are reachable in test/sequential 2025-10-29 16:29:39 +01:00
README.md
root.status

Node.js Core Tests

This directory contains code and data used to test the Node.js implementation.

For a detailed guide on how to write tests in this directory, see the guide on writing tests.

On how to run tests in this directory, see the contributing guide.

For the tests to run on Windows, be sure to clone Node.js source code with the autocrlf git config flag set to true.

Test Directories

Directory Runs on CI Purpose
abort Yes Tests that use --abort-on-uncaught-exception and other cases where we want to avoid generating a core file.
addons Yes Tests for addon functionality along with some tests that require an addon.
async-hooks Yes Tests for async_hooks functionality.
benchmark Yes Test minimal functionality of benchmarks.
cctest Yes C++ tests that are run as part of the build process.
code-cache No Tests for a Node.js binary compiled with V8 code cache.
common N/A Common modules shared among many tests.1
doctool Yes Tests for the documentation generator.
es-module Yes Test ESM module loading.
fixtures N/A Test fixtures used in various tests throughout the test suite.
internet No Tests that make real outbound network connections.2
js-native-api Yes Tests for Node.js-agnostic Node-API functionality.
known_issues Yes Tests reproducing known issues within the system.3
message Yes Tests for messages that are output for various conditions
node-api Yes Tests for Node.js-specific Node-API functionality.
parallel Yes Various tests that are able to be run in parallel.
pseudo-tty Yes Tests that require stdin/stdout/stderr to be a TTY.
pummel No Various tests for various modules / system functionality operating under load.
sequential Yes Various tests that must not run in parallel.
testpy N/A Test configuration utility used by various test suites.
tick-processor No Tests for the V8 tick processor integration.4
v8-updates No Tests for V8 performance integration.

  1. Documentation ↩︎

  2. Tests for networking related modules may also be present in other directories, but those tests do not make outbound connections. ↩︎

  3. All tests inside of this directory are expected to fail. If a test doesn't fail on certain platforms, those should be skipped via known_issues.status. ↩︎

  4. The tests are for the logic in lib/internal/v8_prof_processor.js and lib/internal/v8_prof_polyfill.js. The tests confirm that the profile processor packages the correct set of scripts from V8 and introduces the correct platform specific logic. ↩︎