node/test
Joyee Cheung 365ddb3503
test: refactor WPTRunner
- Print test results as soon as they are available, instead of
  until after all the tests are complete. This helps us printing
  tests whose completion callback is not called because of
  failures.
- Run the scripts specified by `// META: script=` one by one
  instead of concatenating them first for better error stack
  traces.
- Print a status summary when the test process is about to exit.
  This can be used as reference for updating the status file.

For example the stderr output of
`out/Release/node test/wpt/test-console.js` would be:

```
{
  'idlharness.any.js': {
    fail: {
      expected: [
        'assert_equals: operation has wrong .length expected 1 but got 0'
      ]
    }
  }
}
Ran 4/4 tests, 0 skipped, 3 passed, 1 expected failures, 0 unexpected failures
```

PR-URL: https://github.com/nodejs/node/pull/33297
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2020-05-13 22:10:27 +08:00
..
abort Revert "src: add aliased-buffer-overflow abort test" 2020-05-06 09:39:43 -04:00
addons async_hooks: move PromiseHook handler to JS 2020-05-09 07:52:22 +02:00
async-hooks async_hooks: merge run and exit methods 2020-04-13 18:37:44 +02:00
benchmark test: refactor all benchmark tests to use the new test option 2020-03-09 22:35:54 +01:00
cctest src: ignore GCC -Wcast-function-type for v8.h 2020-04-14 10:26:42 +02:00
common test: refactor WPTRunner 2020-05-13 22:10:27 +08:00
doctool test: fix tool path in test-doctool-versions.js 2020-04-05 21:18:31 +02:00
embedding test: use common.buildType in embedding test 2020-03-27 17:29:41 +01:00
es-module module: better error for named exports from cjs 2020-05-08 15:35:16 -04:00
fixtures test: update WPT interfaces and hr-time 2020-05-13 22:09:58 +08:00
internet http2: wait for secureConnect before initializing 2020-04-22 18:22:46 -07:00
js-native-api n-api: add uint32 test for -1 2020-05-06 23:52:05 -07:00
known_issues test: skip crypto test on arm buildbots 2020-04-04 07:09:51 -07:00
message esm: improve commonjs hint on module not found 2020-05-03 11:29:09 -07:00
node-api test: fix out-of-bound reads from invalid sizeof usage 2020-04-30 04:56:11 +02:00
parallel test: stop testing --interpreted-frames-native-stack for s390x 2020-05-12 16:14:19 +02:00
pseudo-tty process: suggest --trace-warnings when printing warning 2020-04-15 02:10:53 +02:00
pummel test: fix test-net-throttle 2020-05-11 11:41:59 -07:00
report report: fix stderr matching for fatal error 2020-04-09 06:45:48 +00:00
sequential tools: add eslint rule to only pass through 'test' to debuglog 2020-05-10 14:00:37 +02:00
testpy
tick-processor
tools
v8-updates deps: update V8 dtrace & postmortem metadata 2020-03-18 16:23:32 -07:00
wasi wasi: prevent syscalls before start 2020-05-08 01:02:19 +02:00
wpt test: update WPT interfaces and hr-time 2020-05-13 22:09:58 +08:00
.eslintrc.yaml tools: add eslint rule to only pass through 'test' to debuglog 2020-05-10 14:00:37 +02:00
README.md
root.status test: add test-worker-prof to the SLOW list for debug 2020-04-01 10:39:38 -04:00

README.md

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 for when the --abort-on-uncaught-exception flag is used.
addons Yes Tests for addon functionality along with some tests that require an addon.
async-hooks Yes Tests for async_hooks functionality.
benchmark No 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 Common modules shared among many tests. Documentation
doctool Yes Tests for the documentation generator.
es-module Yes Test ESM module loading.
fixtures Test fixtures used in various tests throughout the test suite.
internet No Tests that make real outbound network connections. Tests for networking related modules may also be present in other directories, but those tests do not make outbound connections.
js-native-api Yes Tests for Node.js-agnostic n-api functionality.
known_issues Yes Tests reproducing known issues within the system. 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.
message Yes Tests for messages that are output for various conditions (console.log, error messages etc.)
node-api Yes Tests for Node.js-specific n-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 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.
v8-updates No Tests for V8 performance integration.