deno/tests/node_compat/README.md
Daniel Osvaldo Rahmanto a9fd667cf6
Some checks are pending
ci / pre-build (push) Waiting to run
ci / test debug linux-aarch64 (push) Blocked by required conditions
ci / test release linux-aarch64 (push) Blocked by required conditions
ci / test debug macos-aarch64 (push) Blocked by required conditions
ci / test release macos-aarch64 (push) Blocked by required conditions
ci / bench release linux-x86_64 (push) Blocked by required conditions
ci / lint debug linux-x86_64 (push) Blocked by required conditions
ci / lint debug macos-x86_64 (push) Blocked by required conditions
ci / lint debug windows-x86_64 (push) Blocked by required conditions
ci / test debug linux-x86_64 (push) Blocked by required conditions
ci / test release linux-x86_64 (push) Blocked by required conditions
ci / test debug macos-x86_64 (push) Blocked by required conditions
ci / test release macos-x86_64 (push) Blocked by required conditions
ci / test debug windows-x86_64 (push) Blocked by required conditions
ci / test release windows-x86_64 (push) Blocked by required conditions
ci / build libs (push) Blocked by required conditions
ci / publish canary (push) Blocked by required conditions
chore(test): add reason field to node compat test config (#30469)
This was done so we can show it later on `node-test-viewer`.

Other notable changes:
- Move ignored test list from `run_all_test_unmodified.ts` to
`config.toml`
- Add `parallel/test-os-checked-function.js` to the ignore list
- Adjust the `README.md`
2025-09-01 23:44:11 +02:00

66 lines
1.9 KiB
Markdown

# Node compat test directory
This directory includes the tools for running Node.js test cases directly in
Deno.
- ./runner/suite/ - vendored Node.js test cases (git submodule at
https://github.com/denoland/node_test)
- ./config.toml - has the list of passing Node.js test cases
- ./test.ts - The script entrypoint of node compat test.
If you run single node.js test case, use the command:
```
./tools/node_compat_tests.js --filter <name of test file>
```
## Configuration file
The `config.toml` specifies which tests should pass in Deno and includes
platform-specific and behavioral settings for each test.
### Options
Each test entry can include the following optional configuration properties:
- **`flaky`** (boolean): Marks a test as flaky. It will be run at most 3 times
before being considered failed.
- **`windows`** (boolean): Controls whether the test should run on Windows.
Defaults to `true`.
- **`darwin`** (boolean): Controls whether the test should run on macOS.
Defaults to `true`.
- **`linux`** (boolean): Controls whether the test should run on Linux. Defaults
to `true`.
- **`reason`** (string): Optional explanation for why a test is marked as
skipped.
### Examples
```toml
# Should pass on all platforms
"parallel/test-foo.js" = {}
# Test marked as flaky
"parallel/test-bar.js" = { flaky = true }
# Test skipped on all platforms with explanation
"parallel/test-baz.js" = { darwin = false, linux = false, windows = false, reason = "some reason" }
# Test skipped only on Windows
"parallel/test-qux.js" = { windows = false }
```
## Add test case entry to CI check
If you fixed some Node.js compabitility and some test cases started passing,
then add those cases to `config.toml`. The items listed in there are checked in
CI check.
## Daily test viewer
To see the latest test results of all test cases, visit this site
https://node-test-viewer.deno.dev/results/latest