WasmEdge-spectest is a repository of spec test data by extracting WebAssembly (WASM) test suites.
-
Test data is from WebAssembly Core Tests and tests from every proposals.
-
S-Expression script of tests are extracted into
jsonandwasmfiles by wast2json tool in wabt. -
For those WASM text format not supported by wabt currently, parsing and converting into binary files are credited by wasm-tools.
wasm-1.0: The WASM 1.0 tests with the following proposal:wasm-2.0: The WASM 2.0 tests with WASM 1.0 and the following proposals:wasm-3.0prefixed folders: The WASM 3.0 tests with WASM 1.0, WASM 2.0, and the following proposals:- Exception handling
- Extended Constant Expressions
- Typed Function References
- Garbage collection
- Memory64 (Temorary not added due to unimplementation in WasmEdge)
- Multiple memories
- Relaxed SIMD
- Tail call
threads: The tests of the Threads proposal.exception-handling-legacy: The legacy version tests of the Exception handling proposal.- This is deprecated.
wasm-2.0/select/select.wastline 325:invalid result arity->type mismatch- This error message is for the WAT format, WASM format cannot detect this error by the bytecode.
wasm-3.0/select/select.wastline 369:invalid result arity->type mismatch- This error message is for the WAT format, WASM format cannot detect this error by the bytecode.
- New S-Expression script not supported by wabt
- module definition: add a new
"module_definition"type in commands array in JSON which has the same content structure as"module".wasm-3.0/instance/instance.wastline 3, 109wasm-3.0/memory/memory.wastline 8wasm-3.0/table/table.wastline 9wasm-3.0-memory64/memory64/memory64.wastline 8wasm-3.0-memory64/table64/table64.wastline 9
- module instance: add a new
"module_instance"type in commands array in JSON which has almost the same content structure as"register", but use the"definition"to present the name of module definition source.wasm-3.0/instance/instance.wastline 10, 11, 125
- module definition: add a new
threads/atomic/atomic.wast: divergence behavior- Please check this issue.
- Modified the
wastfile for fitting thecompare_exchange_strongbehavior in C++.
threads/atomic_wait_notify/atomic_wait_notify.wast: line 73: remove the thread tests.- The S-Expression of threads cannot be parsed by wabt, therefore remove them.
wasm-core-20251015: The test suite in the date 2025/10/15 from the WASM spec and proposals.wasm-core-20250217: The test suite in the date 2025/02/17 from the WASM spec and proposals.
- This repo is moved from the old spec test repo. For older tags and history, please refer to the WasmEdge-unittest repo.
wasm-core-20240217: The test suite in the date 2024/02/17 from the WASM spec.wasm-core-20231026: The test suite in the date 2023/10/26 from the WASM spec.wasm-core-20230511: The test suite in the date 2023/05/11 from the WASM spec.wasm-core-20221215: The test suite in the date 2022/12/15 from the WASM spec.wasm-core-20221026: The test suite in the date 2022/10/26 from the WASM spec.wasm-core-20220712: The test suite in the date 2022/07/12 from the WASM spec.wasm-core-20220504: The test suite in the date 2022/05/04 from the WASM spec.wasm-core-20220223: The test suite in the date 2022/02/23 from the WASM spec.wasm-core-20211214: The test suite in the date 2021/12/14 from the WASM spec.wasm-core-20211119: The test suite in the date 2021/11/19 from the WASM spec.wasm-core-20210414: The test suite in the date 2021/04/14 from the WASM spec.