wasm-micro-runtime/tests/wamr-test-suites
Wenyong Huang a23fa9f86c
Implement memory64 for classic interpreter (#3266)
Adding a new cmake flag (cache variable) `WAMR_BUILD_MEMORY64` to enable
the memory64 feature, it can only be enabled on the 64-bit platform/target and
can only use software boundary check. And when it is enabled, it can support both
i32 and i64 linear memory types. The main modifications are:

- wasm loader & mini-loader: loading and bytecode validating process 
- wasm runtime: memory instantiating process
- classic-interpreter: wasm code executing process
- Support memory64 memory in related runtime APIs
- Modify main function type check when it's memory64 wasm file
- Modify `wasm_runtime_invoke_native` and `wasm_runtime_invoke_native_raw` to
  handle registered native function pointer argument when memory64 is enabled
- memory64 classic-interpreter spec test in `test_wamr.sh` and in CI

Currently, it supports memory64 memory wasm file that uses core spec
(including bulk memory proposal) opcodes and threads opcodes.

ps.
https://github.com/bytecodealliance/wasm-micro-runtime/issues/3091
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3240
https://github.com/bytecodealliance/wasm-micro-runtime/pull/3260
2024-04-02 15:22:07 +08:00
..
spec-test-script Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
wamr-compiler-test-script Fix compilation of shift opcodes on x86_64 and i386 architectures (#2619) 2023-10-07 19:55:14 +08:00
wasi-test-script Implement the remaining Windows filesystem functions (#3166) 2024-02-28 11:02:42 +08:00
README.md Import test suites to test spec cases (#736) 2021-09-09 12:49:46 +08:00
test_wamr.sh Implement memory64 for classic interpreter (#3266) 2024-04-02 15:22:07 +08:00
tsan_suppressions.txt Fix typo in CI config and suppress STORE_U8 in TSAN (#2802) 2023-12-11 09:16:30 +08:00

WAMR test suites

This folder contains test scripts and cases for wamr.

Help

./test_wamr.sh --help

Examples

Test spec cases with fast interpreter mode, which will create folder workspace, download the spec and wabt repo, and build iwasm automatically to test spec cases:

./test_wamr.sh -s spec -t fast-interp

Test spec cases with aot mode, and use the wabt binary release package instead of compiling wabt from the source code:

./test_wamr.sh -s spec -t aot -b

Test spec cases with all modes (classic-interp/fast-interp/aot/jit):

./test_wamr.sh -s spec

Test spec cases with aot mode and pthread enabled:

./test_wamr.sh -s spec -t aot -p

Test spec cases with aot mode and SIMD enabled:

./test_wamr.sh -s spec -t aot -S

Test spec cases with fast-interp on target x86_32:

./test_wamr.sh -s spec -t fast-interp -m x86_32