An experimental Node-based test262 harness. Once this harness has stabilized, I plan to push to include it by default in official test262.
Requires Node 6 or above.
- Clone test262 locally:
git clone https://github.com/tc39/test262.git --depth 1 cd test262
- Install test262-harness:
npm install -g test262-harness
- Run some tests!
test262-harness test/**/*.js
Run test262-harness --help
for details on the various configuration options.
Option Name | Action | Required | Default |
---|---|---|---|
-h , --help |
Show help & examples | n/a | n/a |
-v , --version |
Print the current version of test262-harness | n/a | n/a |
--hostType |
Type of host to run tests in. See eshost's supported hosts for available options. | No | node |
--hostPath |
Path to the host executable. | Yes, if hostType is specified |
process.execPath |
--hostArgs |
Any additional arguments to pass to the host when invoking it (eg. --harmony , --es6all , etc). |
No | n/a |
-t , --threads |
Run this many tests in parallel. Note that the browser runners don't work great with t > 1. | No | 1 |
-r , --reporter |
Format of data written to standard output. Currently either json or simple . |
No | simple |
--features |
Comma-separated list of features to filter for. Example: --features="BigInt,Atomics" . |
No | n/a |
--reporter-keys |
Comma-separated list of keys to include in output of json reporter. |
No | n/a |
--test262Dir |
Root test262 directory and is used to locate the includes directory. | No | Relative to test files |
--includesDir |
Includes directory. | No | Inferred from test262Dir or else detected by walking upward from the first test found. |
--prelude |
Path to a file to include before every test (useful for testing polyfills for example) | No | n/a |
--timeout |
Set a custom test timeout in milliseconds | No | 10000 |
--babelPresets |
Babel presets used to transpile code. E.g.: stage-2 , stage-3 . Deprecated |
No | n/a |
--acceptVersion |
Execute tests from a version of Test262 that differs from the versions supported by this utility. This may cause the utility to report invalid test results. | No | Inferred from test262Dir/package.json |
--saveCompiledTests |
Write the compiled version of path/to/test.js as path/to/test.js.<hostType>.<pass|fail> so that it can be easily re-run under that host. Run test262-harness --help for examples. |
No | n/a |
--saveOnlyFailed |
Only save the compiled version of the test if it failed, to help easily repro failed tests (implies --saveCompiledTests ). |
No | n/a |