oxc/tasks/coverage
rzvxa 9b3097147e improvement(semantic/cfg): rework error path. (#3519)
This PR aims to provide a more accurate error/finalization flow, I've nuked the old error path approach and rewrote it with more versatility in mind.

We used to visit the finalizer block twice and create 2 sets of AstNodes/Basic Blocks for them, This was there to differentiate between the error path finalizer and success path one. There is no longer a need for having 2 separate sets of nodes to do this differentiation.

As for the error path now we have 2 kinds of them, Everything is attached to an error block - even if it is not in a try-catch statement - this results in a lot of extra edges to keep track of these "Implicit" error blocks but I believe in future it can help us to track cross block error paths, For example, we can dynamically attach and cache the implicit error block of a function to its call site error path (either implicit or explicit).
2024-06-13 07:36:16 +00:00
..
misc fix(parser): parse const extends in arrow functions correctly (#3450) 2024-05-28 21:34:52 +08:00
src fix!(codegen): remove the unecessary 4th argument from Codegen::new (#3640) 2024-06-12 07:58:54 +00:00
Cargo.toml chore: update toml format 2024-05-21 22:15:47 +08:00
codegen_babel.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
codegen_misc.snap fix(parser): parse const extends in arrow functions correctly (#3450) 2024-05-28 21:34:52 +08:00
codegen_runtime_test262.snap chore(coverage): ignore eval related code in codegen runtime (#3628) 2024-06-11 15:23:36 +00:00
codegen_sourcemap.snap fix(codegen): print indentation before directive (#3512) 2024-06-05 16:32:12 +08:00
codegen_test262.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
codegen_typescript.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
minifier_babel.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
minifier_test262.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
parser_babel.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
parser_misc.snap fix(parser): parse const extends in arrow functions correctly (#3450) 2024-05-28 21:34:52 +08:00
parser_test262.snap improvement(semantic/cfg): rework error path. (#3519) 2024-06-13 07:36:16 +00:00
parser_typescript.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
prettier_babel.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
prettier_misc.snap fix(parser): parse const extends in arrow functions correctly (#3450) 2024-05-28 21:34:52 +08:00
prettier_test262.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
prettier_typescript.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
README.md chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
transformer_babel.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
transformer_misc.snap fix(parser): parse const extends in arrow functions correctly (#3450) 2024-05-28 21:34:52 +08:00
transformer_test262.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00
transformer_typescript.snap chore: bump test262, babel and TypeScript submodules (#3644) 2024-06-12 18:42:32 +08:00

Coverage

Tools are tested against test262, babel and TypeScript for conformance.

Clone the test repositories beforehand:

just submodules

Development

# full run
cargo coverage
cargo coverage js # for test262
cargo coverage babel # for babel
cargo coverage ts # for typescript

# run in watch
cargo watch -x 'coverage js'

# filter for a file path
cargo watch -x 'coverage js --filter filter-file-path'

# find crash scene by turning off rayon and print out the test cases in serial
cargo coverage -- --debug

# Run after submodules are updated
UPDATE_SNAPSHOT=1 just c