oxc/tasks/transform_conformance
Dunqing d67100730b
feat(tasks/transforme_conformance): support for testing oxc's test cases (#2835)
Related to:
https://github.com/oxc-project/oxc/pull/2822#issuecomment-2021802212

Although `babel` has a lot of test cases, we still need to add edge
cases that `babel` doesn't have.

This PR will allow us to add out test cases to
`/root/oxc/tasks/transform_conformance/tests`. The directory structure
is consistent with `babel`

For example
```shell
# cd /root/oxc/tasks/transform_conformance/tests
- babel-transform-plugin–optional-catch-binding
   - test
       - fixtures
           - your tests # add test cases here
```
2024-03-27 14:14:15 +08:00
..
src feat(tasks/transforme_conformance): support for testing oxc's test cases (#2835) 2024-03-27 14:14:15 +08:00
tests/babel-plugin-transform-optional-catch-binding/test/fixtures feat(tasks/transforme_conformance): support for testing oxc's test cases (#2835) 2024-03-27 14:14:15 +08:00
babel.snap.md feat(transformer): numeric separator plugin. (#2795) 2024-03-26 18:15:12 +08:00
babel_exec.snap.md chore: update snapshots (#2817) 2024-03-26 11:53:26 +08:00
Cargo.toml refactor: remove global allocator from non-user facing apps (#2401) 2024-02-12 14:09:05 +08:00
oxc.snap.md feat(tasks/transforme_conformance): support for testing oxc's test cases (#2835) 2024-03-27 14:14:15 +08:00
oxc_exec.snap.md feat(tasks/transforme_conformance): support for testing oxc's test cases (#2835) 2024-03-27 14:14:15 +08:00
README.md feat(transformer_conformance): use bun to run babel exec.js test cases (#1012) 2023-10-25 03:06:07 +00:00
typescript.snap.md fix(transformer): update snapshot (#2268) 2024-02-02 17:00:44 +08:00

Transformation Conformance Test Runner

Execution

This test runner uses the transformation plugin test suite from the babel repository.

The failing test cases are listed in ./babel.snap.md

To get started, run

cargo run -p oxc_transform_conformance

or watch for changes

just watch 'run -p oxc_transform_conformance'

Options

--filter

To filter for a specific test case, apply the --filter path option, e.g.

cargo run -p oxc_transform_conformance -- --filter react/arrow-functions

--exec

The babel test suite contains many exec.js files, they need to be executed by a runtime.

Bun is the preferred way to execute these tests, which you may install them via https://bun.sh/docs/installation.

Once bun is installed, apply the --exec flag:

cargo run -p oxc_transform_conformance -- --exec

The failing test cases are listed in ./babel_exec.snap.md.