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.
Directory | Runs on CI | Purpose |
---|---|---|
abort | Yes | Tests for when the --abort-on-uncaught-exception flag is used. |
addons | Yes | Tests for addon functionality along with some tests that require an addon to function properly. |
cctest | Yes | C++ test that is run as part of the build process. |
common | Common modules shared among many tests. Documentation | |
es-module | Yes | Test ESM module loading. |
fixtures | Test fixtures used in various tests throughout the test suite. | |
gc | No | Tests for garbage collection related functionality. |
internet | No | Tests that make real outbound connections (mainly networking related modules). Tests for networking related modules may also be present in other directories, but those tests do not make outbound connections. |
known_issues | Yes | Tests reproducing known issues within the system. All tests inside of this directory are expected to fail consistently. If a test doesn't fail on certain platforms, those should be skipped via known_issues.status . |
message | Yes | Tests for messages that are output for various conditions (console.log , error messages etc.) |
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 are run sequentially. |
testpy | Test configuration utility used by various test suites. | |
tick-processor | No | Tests for the V8 tick processor integration. 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. |
timers | No | Tests for timing utilities (setTimeout and setInterval ). |
When a new test directory is added, make sure to update the CI_JS_SUITES
variable in the Makefile
and the js_test_suites
variable in
vcbuild.bat
.