diff --git a/tests/regression/ba-issues/.gitignore b/tests/regression/ba-issues/.gitignore new file mode 100644 index 000000000..c2e1ae56d --- /dev/null +++ b/tests/regression/ba-issues/.gitignore @@ -0,0 +1,4 @@ +*.zip +build +*.log +**/out.aot \ No newline at end of file diff --git a/tests/regression/ba-issues/README.md b/tests/regression/ba-issues/README.md new file mode 100644 index 000000000..dd5c3b3c5 --- /dev/null +++ b/tests/regression/ba-issues/README.md @@ -0,0 +1,249 @@ +# BA Issues + +For how to add a new test case, you should refer to following steps: + +1. [Creating directories for new issue test cases](#helper-shell-script) +2. If the new issue test cases require new CMake build config of `warmc`/`iwasm` rather than existing ones, modify [build script](#warmc-and-iwasm-build-script) for new build config +3. Add [running configuration](#add-a-new-configuration-for-how-to-run-your-issue-test-case) for the new issue test cases +4. [Running tests and check test results](#running-test-cases-and-getting-results) + +## helper shell script + +`helper.sh` is to help you quickly create corresponding directory for test cases and unzip them if they are in zip file. It's helpful if you want to add many cases all together. + +```shell +# helper scripts will create issues/issue-xxx where xxx is from 2944 to 2966 +./helper.sh 2944 2966 +# helper scripts will create issues/issue-2999 +./helper.sh 2999 +# helper scripts will extract any zip files under issues/issue-xxx where xxx is from 2944 to 2966 +./helper.sh -x 2944 2966 +``` + +## `warmc` and `iwasm` build script + +To build wamrc and iwasm(this could take a while for we are building multiple version of iwasm with different CMake cache variable configurations) + +```shell +./build_wamr.sh +``` + +Inside the file, if you want to add a new for you case, you can append a new build command to this file. + +```shell +# format: build_iwasm "CMake cache variable configurations" "runtime name" +build_iwasm "-DWAMR_BUILD_LIBC_WASI=0 -DWAMR_BUILD_LIBC_BUILTIN=1 -DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_BULK_MEMORY=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_FAST_JIT=1" "multi-tier-wasi-disabled" +``` + +Above line will compile a `iwasm-multi-tier-wasi-disabled` runtime under directory build, so you can indicate use it in your running config entry in Json. + +> PS: if you add some + +## Add a new configuration for how to run your issue test case + +In `running_config.json`, add new entry for your issue test case + +### Here is a simply running configuration that only uses `iwasm` + +```Json +{ + "deprecated": false, + "ids": [ + 2955 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "iwasm_fast_interp_unexpected_value.wasm", + "mode": "fast-interp", + "options": " --heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x44e5d17eb93a0ce:i64", + "description": "expected output 0x44e5d17eb93a0ce:i64" + } +} +``` + +Maybe some test cases can shared a running config(for example, they all come from a fuzz reporting issues). When it comes to that, you can simply add their ids all together. And use the wildcard for +matching file names. + +```JSon +{ + "deprecated": false, + "ids": [ + 2966, + 2964, + 2963, + 2962 + ], + "runtime": "iwasm-multi-tier-wasi-disabled", + "file": "*.wasm", + "mode": "fast-jit", + "options": " --heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x0:i32", + "description": "expected output 0x0:i32" + } +} +``` + +### Here is a simply running configuration that uses only `wamrc` + +TODO: this is only a dummy config example, changes to actual test case configuration + +```JSon +{ + "deprecated": false, + "ids": [ + 2956 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": true, + "in file": "*.wasm", + "out file": "out.aot", + "options": "--target=x86_64", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "" + } + } +} +``` + +### Here is a simply running configuration that uses both `wamrc` and `iwasm` + +TODO: this is only a dummy config example, changes to actual test case configuration + +```JSon +{ + "deprecated": false, + "ids": [ + 2956 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "--target=x86_64", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "" + } + }, + "runtime": "iwasm-multi-tier-wasi-disabled", + "file": "out.aot", + "mode": "aot", + "options": " --heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x0:i32", + "description": "expected output 0x0:i32" + } +} +``` + +### For deprecated issue test cases + +Due to the spec changes, some cases may be deprecated in the future. When the running result is not as expected and after making sure it's not the bug in WAMR but the test cases should be deprecated(maybe using wasm-validate or some other tool). They should be moved into directory `issues-deprecated.` And simply set the `"deprecated": true,` in their corresponding running configuration. + +For example: + +```JSon +{ + "deprecated": true, + "ids": [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "runtime": "iwasm-default", + "mode": "classic-interp", + "file": "PoC.wasm", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "no segfault" + } +} +``` + +## Running test cases and getting results + +simply run `run.py` + +```shell +./run.py +``` + +If everything went well, you should see similarly output in your command line output + +```shell +Finish testing, 22/22 of test cases passed, no more issues should further test +``` + +If you add the test case under directory `issues` but forget to add the running config in json file, the output can be something like + +```shell +Finish testing, 21/21 of test cases passed, {2945} issue(s) should further test +``` + +If some test case are failing, then it will be something like + +```shell +Finish testing, 21/22 of test cases passed, no more issue(s) should further test +``` + +And a log file named `issues_tests.log` will be generated and inside it will display the details of the failing cases, for example: + +```dummy +======================================================= +Failing issue id: 2945. +run with command_lists: ['./build/iwasm-default-wasi-disabled', '--heap-size=0', '-f', 'to_test', '/home/tl/TL/clion_projects/wamr-internal-test/tests/regression/ba-issues/issues/issue-2945/iwasm_fast_interp_moob_unhandled.wasm'] +exit code (actual, expected) : (1, 0) +stdout (actual, expected) : ('Exception: out of bounds memory access', 'Exception: out of bounds memory access') +======================================================= +``` + diff --git a/tests/regression/ba-issues/build_wamr.sh b/tests/regression/ba-issues/build_wamr.sh new file mode 100755 index 000000000..76562c5a9 --- /dev/null +++ b/tests/regression/ba-issues/build_wamr.sh @@ -0,0 +1,63 @@ +#!/usr/bin/env bash + +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +PLATFORM=$(uname -s | tr A-Z a-z) + +readonly WORK_DIR=$PWD +readonly WAMR_DIR=${WORK_DIR}/../../.. + +function build_wamrc() { + echo "Build wamrc for spec test under aot compile type" + cd ${WAMR_DIR}/wamr-compiler && + ./build_llvm.sh && + cd ${WORK_DIR}/build && + if [ -d build-wamrc ]; then rm -rf build-wamrc; else mkdir build-wamrc; fi && + cd build-wamrc && cmake ${WAMR_DIR}/wamr-compiler && make -j 4 +} + +function build_iwasm() { + echo "Build iwasm with compile flags " $1 " " + cd ${WAMR_DIR}/product-mini/platforms/${PLATFORM} && + cd ${WORK_DIR}/build && + if [ -d build-iwasm-$2 ]; then rm -rf build-iwasm-$2; else mkdir build-iwasm-$2; fi && + cd build-iwasm-$2 && + cmake ${WAMR_DIR}/product-mini/platforms/${PLATFORM} $1 \ + -DCMAKE_BUILD_TYPE=Debug -DWAMR_BUILD_SANITIZER=asan && + make -j 4 + if [ "$?" != 0 ]; then + echo -e "build iwasm failed" + exit 1 + fi +} + +rm -fr build && mkdir build + +# build wamrc +build_wamrc + +# build default iwasm for testing fast-interp and AOT +build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=1" "default" + +# build default iwasm for testing fast-interp and AOT with GC enabled +build_iwasm "-DWAMR_BUILD_GC=1 -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_SPEC_TEST=1" "default-gc-enabled" + +# build llvm-jit iwasm for testing llvm-jit +build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_JIT=1" "llvm-jit" + +# build multi-tier-jit iwasm for testing classic-interp, fast-jit, llvm-jit and multi-tier-jit +build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1" "multi-tier-jit" + +# build default iwasm for testing fast-interp and AOT with libc-wasi disabled +build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_AOT=1 -DWAMR_BUILD_FAST_INTERP=1 -DWAMR_BUILD_LIBC_WASI=0" "default-wasi-disabled" + +# build llvm-jit iwasm for testing llvm-jit with libc-wasi disabled +build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LIBC_WASI=0" "llvm-jit-wasi-disabled" + +# build multi-tier-jit iwasm for testing classic-interp, fast-jit, llvm-jit and multi-tier-jit with libc-wasi disabled +build_iwasm "-DWAMR_BUILD_REF_TYPES=1 -DWAMR_BUILD_FAST_JIT=1 -DWAMR_BUILD_JIT=1 -DWAMR_BUILD_LIBC_WASI=0" "multi-tier-jit-wasi-disabled" + +# TODO: add more version of iwasm, for example, sgx version diff --git a/tests/regression/ba-issues/helper.sh b/tests/regression/ba-issues/helper.sh new file mode 100755 index 000000000..dbab000cf --- /dev/null +++ b/tests/regression/ba-issues/helper.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +# Function to create a directory +create_directory() { + dir_name="issue-$1" + mkdir -p "$dir_name" + echo "Created directory: $dir_name" + + # Unzip files if unzip option is enabled + if [ "$unzip" = true ]; then + if [ -d "$dir_name" ]; then + # /opt/wabt/bin/wasm2wat --enable-all $dir_name/PoC.wasm -o $dir_name/PoC.wast + for zipfile in "$dir_name"/*.zip; do + if [ -f "$zipfile" ]; then + echo "Unzipping $zipfile in $dir_name" + unzip -o "$zipfile" -d "$dir_name" + rm $zipfile + # /opt/wabt/bin/wasm2wat --enable-all PoC.wasm -o PoC.wast + fi + done + fi + fi +} + +# Initialize unzip option to false +unzip=false + +# Parse options +while getopts ":x" opt; do + case $opt in + x) + unzip=true + ;; + \?) + echo "Invalid option: -$OPTARG" >&2 + exit 1 + ;; + esac +done + +# Remove the parsed options from the arguments +shift $((OPTIND - 1)) + +# Check if at least one argument is provided +if [ $# -lt 1 ]; then + echo "Usage: $0 [-x] [num2]" + exit 1 +fi + +num1=$1 + +# Changes work directories to issues +cd issues + +# If only one argument is provided +if [ $# -eq 1 ]; then + create_directory "$num1" +else + # Extract the second argument + num2=$2 + + # Check if the second argument is greater than the first + if [ "$num2" -lt "$num1" ]; then + echo "Second number must be greater than or equal to the first number." + exit 1 + fi + + # Generate directories from num1 to num2 + for ((i = num1; i <= num2; i++)); do + create_directory "$i" + done +fi diff --git a/tests/regression/ba-issues/issues-deprecated/issue-47/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-47/PoC.wasm new file mode 100644 index 000000000..75bc9b097 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-47/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-48/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-48/PoC.wasm new file mode 100644 index 000000000..adefd4d82 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-48/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-49/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-49/PoC.wasm new file mode 100644 index 000000000..23b2235a6 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-49/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-50/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-50/PoC.wasm new file mode 100644 index 000000000..275a199fa Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-50/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-51/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-51/PoC.wasm new file mode 100644 index 000000000..d88c0f586 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-51/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-52/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-52/PoC.wasm new file mode 100644 index 000000000..958a90c1d Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-52/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-53/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-53/PoC.wasm new file mode 100644 index 000000000..14dd89fd6 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-53/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-54/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-54/PoC.wasm new file mode 100644 index 000000000..f1ac704fd Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-54/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-55/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-55/PoC.wasm new file mode 100644 index 000000000..d57c10091 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-55/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-56/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-56/PoC.wasm new file mode 100644 index 000000000..d57c10091 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-56/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-57/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-57/PoC.wasm new file mode 100644 index 000000000..919febcd1 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-57/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-58/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-58/PoC.wasm new file mode 100644 index 000000000..0097b2750 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-58/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-59/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-59/PoC.wasm new file mode 100644 index 000000000..06394435d Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-59/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-60/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-60/PoC.wasm new file mode 100644 index 000000000..ef4b2c9e1 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-60/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-61/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-61/PoC.wasm new file mode 100644 index 000000000..7f022d3fb Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-61/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-62/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-62/PoC.wasm new file mode 100644 index 000000000..98b4f5c9f Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-62/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-63/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-63/PoC.wasm new file mode 100644 index 000000000..dff7f13ed Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-63/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-64/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-64/PoC.wasm new file mode 100644 index 000000000..d1cc3c6eb Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-64/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-65/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-65/PoC.wasm new file mode 100644 index 000000000..380a9b57e Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-65/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-66/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-66/PoC.wasm new file mode 100644 index 000000000..aedeea0da Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-66/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-67/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-67/PoC.wasm new file mode 100644 index 000000000..5b8ec0cea Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-67/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-68/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-68/PoC.wasm new file mode 100644 index 000000000..6ce90702a Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-68/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-69/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-69/PoC.wasm new file mode 100644 index 000000000..6e2a2f4d5 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-69/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-70/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-70/PoC.wasm new file mode 100644 index 000000000..2608ffbf5 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-70/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-71/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-71/PoC.wasm new file mode 100644 index 000000000..32af40e04 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-71/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-72/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-72/PoC.wasm new file mode 100644 index 000000000..f14505853 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-72/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-73/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-73/PoC.wasm new file mode 100644 index 000000000..e4ae58dfb Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-73/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-74/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-74/PoC.wasm new file mode 100644 index 000000000..7008c4f0f Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-74/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-75/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-75/PoC.wasm new file mode 100644 index 000000000..4d15997ce Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-75/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-76/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-76/PoC.wasm new file mode 100644 index 000000000..7c828e582 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-76/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-77/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-77/PoC.wasm new file mode 100644 index 000000000..855401aa4 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-77/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-78/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-78/PoC.wasm new file mode 100644 index 000000000..32f83aff0 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-78/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-79/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-79/PoC.wasm new file mode 100644 index 000000000..07573b90b Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-79/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-80/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-80/PoC.wasm new file mode 100644 index 000000000..a2d0142a7 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-80/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-81/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-81/PoC.wasm new file mode 100644 index 000000000..2f0ac1733 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-81/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-82/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-82/PoC.wasm new file mode 100644 index 000000000..0c8988fff Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-82/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-83/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-83/PoC.wasm new file mode 100644 index 000000000..3ce15ca80 Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-83/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues-deprecated/issue-84/PoC.wasm b/tests/regression/ba-issues/issues-deprecated/issue-84/PoC.wasm new file mode 100644 index 000000000..9c9f90f1b Binary files /dev/null and b/tests/regression/ba-issues/issues-deprecated/issue-84/PoC.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2700/filea151222.wasm b/tests/regression/ba-issues/issues/issue-2700/filea151222.wasm new file mode 100644 index 000000000..005aea2ce Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2700/filea151222.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2701/filea105944.wasm b/tests/regression/ba-issues/issues/issue-2701/filea105944.wasm new file mode 100644 index 000000000..c30dba20b Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2701/filea105944.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2702/filea105487.wasm b/tests/regression/ba-issues/issues/issue-2702/filea105487.wasm new file mode 100644 index 000000000..bb739fa1e Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2702/filea105487.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2703/filea82785.wasm b/tests/regression/ba-issues/issues/issue-2703/filea82785.wasm new file mode 100644 index 000000000..dda16fa7b Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2703/filea82785.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2704/filea1807.wasm b/tests/regression/ba-issues/issues/issue-2704/filea1807.wasm new file mode 100644 index 000000000..cfe6cbd05 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2704/filea1807.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2705/filea88124.wasm b/tests/regression/ba-issues/issues/issue-2705/filea88124.wasm new file mode 100644 index 000000000..dcf160ab6 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2705/filea88124.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2706/filea142128.wasm b/tests/regression/ba-issues/issues/issue-2706/filea142128.wasm new file mode 100644 index 000000000..96c463e43 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2706/filea142128.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-270801/filea3054_instr_instr.wasm b/tests/regression/ba-issues/issues/issue-270801/filea3054_instr_instr.wasm new file mode 100644 index 000000000..2a1b5a138 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-270801/filea3054_instr_instr.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-270802/filea3054.wasm b/tests/regression/ba-issues/issues/issue-270802/filea3054.wasm new file mode 100644 index 000000000..2bd866326 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-270802/filea3054.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2709/filea140961.wasm b/tests/regression/ba-issues/issues/issue-2709/filea140961.wasm new file mode 100644 index 000000000..065f68041 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2709/filea140961.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2710/t.wasm b/tests/regression/ba-issues/issues/issue-2710/t.wasm new file mode 100644 index 000000000..84e53f9ed Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2710/t.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2711/filea214306.wasm b/tests/regression/ba-issues/issues/issue-2711/filea214306.wasm new file mode 100644 index 000000000..ef8556f3a Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2711/filea214306.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2712/filea170022.wasm b/tests/regression/ba-issues/issues/issue-2712/filea170022.wasm new file mode 100644 index 000000000..5f3c77b66 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2712/filea170022.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2713/filea105957.wasm b/tests/regression/ba-issues/issues/issue-2713/filea105957.wasm new file mode 100644 index 000000000..9ed1f160c Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2713/filea105957.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2714/filea171655.wasm b/tests/regression/ba-issues/issues/issue-2714/filea171655.wasm new file mode 100644 index 000000000..3d0def772 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2714/filea171655.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2720/filea228152.wasm b/tests/regression/ba-issues/issues/issue-2720/filea228152.wasm new file mode 100644 index 000000000..09021f0aa Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2720/filea228152.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2726/poc b/tests/regression/ba-issues/issues/issue-2726/poc new file mode 100644 index 000000000..2e7c609ac Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2726/poc differ diff --git a/tests/regression/ba-issues/issues/issue-2732/filea9.wasm b/tests/regression/ba-issues/issues/issue-2732/filea9.wasm new file mode 100644 index 000000000..cb1077c7e Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2732/filea9.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2759/case.wasm b/tests/regression/ba-issues/issues/issue-2759/case.wasm new file mode 100644 index 000000000..fff0dbb5a Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2759/case.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2759/case.wat b/tests/regression/ba-issues/issues/issue-2759/case.wat new file mode 100644 index 000000000..7a97b6b5d --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-2759/case.wat @@ -0,0 +1,83 @@ +(module + (type (;0;) (func (param f64) (result f64))) + (type (;1;) (func (param i32 i32 i32) (result i32))) + (type (;2;) (func (param i32) (result i32))) + (type (;3;) (func (param i32))) + (type (;4;) (func (param i32 i32 i32))) + (type (;5;) (func (param i32 i32) (result i32))) + (type (;6;) (func (param i32 i64 i32) (result i64))) + (type (;7;) (func (param i32 i32 i32 i32) (result i32))) + (type (;8;) (func)) + (import "wasi_snapshot_preview1" "args_sizes_get" (func (;0;) (type 5))) + (import "wasi_snapshot_preview1" "args_get" (func (;1;) (type 5))) + (import "wasi_snapshot_preview1" "proc_exit" (func (;2;) (type 3))) + (import "wasi_snapshot_preview1" "fd_write" (func (;3;) (type 7))) + (func (;4;) (type 8)) + (func (;5;) (type 4) (param i32 i32 i32)) + (func (;6;) (type 8) + (local i32 i32 i32 i32 i32) + block (result i32) ;; label = @1 + loop ;; label = @5 + local.get 4 + local.get 1 + i32.const 15720 + i32.add + i32.store offset=15576 + + i32.const 0 + i32.const 0 + i32.load offset=4 + i32.const 128 + i32.sub + local.tee 0 + i32.store offset=4 + + ;; i32.const 40 + ;; i32.load offset=28 + ;; call 2 ;; same here + + local.get 2 + i32.const 5 + local.get 3 + call 5 + + i32.const 40 + i32.load offset=28 + call 2 + + local.get 0 + i32.const 108 + i32.eq + local.set 0 + local.get 1 + i32.const 34 + i32.eq + local.set 0 + + local.get 2 + i32.const 7 + local.get 3 + call 5 + + local.get 4 + i32.const 1 + i32.add + local.tee 4 + i32.const 36525 + i32.ne + br_if 0 (;@5;) + end + i32.const 0 + end + local.set 1 + ) + (table (;0;) 6 6 funcref) + (memory (;0;) 8192 8192) + (global (;0;) (mut i32) (i32.const 76368)) + (global (;1;) (mut i32) (i32.const 331012996)) + (global (;2;) (mut i64) (i64.const 575546917)) + (global (;3;) (mut f32) (f32.const 0x1.b8f31cp-34 (;=1.0026e-10;))) + (global (;4;) (mut f64) (f64.const -0x1.8ae9ad59b18a9p-429 (;=-1.11274e-129;))) + (export "memory" (memory 0)) + (export "_start" (func 6)) +) \ No newline at end of file diff --git a/tests/regression/ba-issues/issues/issue-2784/6.wasm b/tests/regression/ba-issues/issues/issue-2784/6.wasm new file mode 100644 index 000000000..95f21ae08 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2784/6.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2787/sock_shutdown.wasm b/tests/regression/ba-issues/issues/issue-2787/sock_shutdown.wasm new file mode 100644 index 000000000..5fbb94d6c Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2787/sock_shutdown.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2787/sock_shutdown.wast b/tests/regression/ba-issues/issues/issue-2787/sock_shutdown.wast new file mode 100644 index 000000000..46df1d336 --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-2787/sock_shutdown.wast @@ -0,0 +1,17 @@ +(module + (type (func)) + (type (func (param i32 i32) (result i32))) + (type (func (param i32))) + (import "wasi_snapshot_preview1" "sock_shutdown" (func $sock_shutdown (type 1))) + (import "wasi_snapshot_preview1" "proc_exit" (func $proc_exit (type 2))) + (func $_start + (call $sock_shutdown + (i32.const 3) + (i32.const 3) + ) + call $proc_exit + ) + (memory 2) + (export "memory" (memory 0)) + (export "_start" (func $_start)) +) \ No newline at end of file diff --git a/tests/regression/ba-issues/issues/issue-2790/232.wasm b/tests/regression/ba-issues/issues/issue-2790/232.wasm new file mode 100644 index 000000000..31075ac36 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2790/232.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2797/v19_tcs_memory.init_647.wasm b/tests/regression/ba-issues/issues/issue-2797/v19_tcs_memory.init_647.wasm new file mode 100644 index 000000000..a7bb83df1 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2797/v19_tcs_memory.init_647.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2829/filea262_9.wasm b/tests/regression/ba-issues/issues/issue-2829/filea262_9.wasm new file mode 100644 index 000000000..7ff41618f Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2829/filea262_9.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2832/filea5770.wasm b/tests/regression/ba-issues/issues/issue-2832/filea5770.wasm new file mode 100644 index 000000000..60badd4f1 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2832/filea5770.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2833/filea12287_4.wasm b/tests/regression/ba-issues/issues/issue-2833/filea12287_4.wasm new file mode 100644 index 000000000..627f1f3c9 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2833/filea12287_4.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2847/filea1461_4.wasm b/tests/regression/ba-issues/issues/issue-2847/filea1461_4.wasm new file mode 100644 index 000000000..cf1218d8f Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2847/filea1461_4.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2849/filea3891_2.wasm b/tests/regression/ba-issues/issues/issue-2849/filea3891_2.wasm new file mode 100644 index 000000000..ff1de1e39 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2849/filea3891_2.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2857/10276.wasm b/tests/regression/ba-issues/issues/issue-2857/10276.wasm new file mode 100644 index 000000000..43bb144da Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2857/10276.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2858/3605.wasm b/tests/regression/ba-issues/issues/issue-2858/3605.wasm new file mode 100644 index 000000000..0ef729c46 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2858/3605.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2861/filea7995_6.wasm b/tests/regression/ba-issues/issues/issue-2861/filea7995_6.wasm new file mode 100644 index 000000000..2d86c41f8 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2861/filea7995_6.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2862/filea22861_5.wasm b/tests/regression/ba-issues/issues/issue-2862/filea22861_5.wasm new file mode 100644 index 000000000..aa03c75fe Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2862/filea22861_5.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2863/test.wasm b/tests/regression/ba-issues/issues/issue-2863/test.wasm new file mode 100755 index 000000000..e4d76a2d4 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2863/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2865/filea4199_8.wasm b/tests/regression/ba-issues/issues/issue-2865/filea4199_8.wasm new file mode 100644 index 000000000..60a57adaf Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2865/filea4199_8.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2897/test.wasm b/tests/regression/ba-issues/issues/issue-2897/test.wasm new file mode 100644 index 000000000..ef7296201 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2897/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2897/test.wast b/tests/regression/ba-issues/issues/issue-2897/test.wast new file mode 100644 index 000000000..c01de2dd0 --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-2897/test.wast @@ -0,0 +1,11 @@ +(module + (type (func)) + (func $_start + (memory.grow (i32.const 1)) + drop + (memory.fill (i32.const 65536) (i32.const 0) (i32.const 10)) + ) + (memory 1) + (export "memory" (memory 0)) + (export "_start" (func $_start)) +) \ No newline at end of file diff --git a/tests/regression/ba-issues/issues/issue-292001/f64.load_147_5_17034195850743225.wasm b/tests/regression/ba-issues/issues/issue-292001/f64.load_147_5_17034195850743225.wasm new file mode 100644 index 000000000..2cc35dc2a Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-292001/f64.load_147_5_17034195850743225.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-292002/v128.load16x4_u_169_0_17034190656771224.wasm b/tests/regression/ba-issues/issues/issue-292002/v128.load16x4_u_169_0_17034190656771224.wasm new file mode 100644 index 000000000..eb7155d1e Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-292002/v128.load16x4_u_169_0_17034190656771224.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2921/v128.load64_lane_2635_10_1703418883268537.wasm b/tests/regression/ba-issues/issues/issue-2921/v128.load64_lane_2635_10_1703418883268537.wasm new file mode 100644 index 000000000..1db099471 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2921/v128.load64_lane_2635_10_1703418883268537.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2931/case.wasm b/tests/regression/ba-issues/issues/issue-2931/case.wasm new file mode 100644 index 000000000..31e895bc1 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2931/case.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2942/iwasm_jit_without_exception.wasm b/tests/regression/ba-issues/issues/issue-2942/iwasm_jit_without_exception.wasm new file mode 100644 index 000000000..afe66ce27 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2942/iwasm_jit_without_exception.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2943/iwasm_jit_timeout.wasm b/tests/regression/ba-issues/issues/issue-2943/iwasm_jit_timeout.wasm new file mode 100644 index 000000000..5881bdf3c Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2943/iwasm_jit_timeout.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2944/iwasm_no_undeclared_function_reference.wasm b/tests/regression/ba-issues/issues/issue-2944/iwasm_no_undeclared_function_reference.wasm new file mode 100644 index 000000000..d4f44fa20 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2944/iwasm_no_undeclared_function_reference.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2945/iwasm_fast_interp_moob_unhandled.wasm b/tests/regression/ba-issues/issues/issue-2945/iwasm_fast_interp_moob_unhandled.wasm new file mode 100644 index 000000000..18d1e7585 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2945/iwasm_fast_interp_moob_unhandled.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2946/iwasm_fast_interp_div_zero_unhandled.wasm b/tests/regression/ba-issues/issues/issue-2946/iwasm_fast_interp_div_zero_unhandled.wasm new file mode 100644 index 000000000..16ad0a274 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2946/iwasm_fast_interp_div_zero_unhandled.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2947/iwasm_fast_interp_int_overflow_double_free.wasm b/tests/regression/ba-issues/issues/issue-2947/iwasm_fast_interp_int_overflow_double_free.wasm new file mode 100644 index 000000000..626044bfd Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2947/iwasm_fast_interp_int_overflow_double_free.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2948/iwasm_fast_interp_div_zero_double_free2.wasm b/tests/regression/ba-issues/issues/issue-2948/iwasm_fast_interp_div_zero_double_free2.wasm new file mode 100644 index 000000000..5d4de29d0 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2948/iwasm_fast_interp_div_zero_double_free2.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2949/iwasm_fast_jit_unexpected_div_zero.wasm b/tests/regression/ba-issues/issues/issue-2949/iwasm_fast_jit_unexpected_div_zero.wasm new file mode 100644 index 000000000..1b986beb9 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2949/iwasm_fast_jit_unexpected_div_zero.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2950/iwasm_fast_jit_unexpected_moob.wasm b/tests/regression/ba-issues/issues/issue-2950/iwasm_fast_jit_unexpected_moob.wasm new file mode 100644 index 000000000..bacf25955 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2950/iwasm_fast_jit_unexpected_moob.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2951/iwasm_fast_jit_unexpected_int_overflow.wasm b/tests/regression/ba-issues/issues/issue-2951/iwasm_fast_jit_unexpected_int_overflow.wasm new file mode 100644 index 000000000..f94b15637 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2951/iwasm_fast_jit_unexpected_int_overflow.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2952/iwasm_fast_jit_unexpected_devide_by_zero.wasm b/tests/regression/ba-issues/issues/issue-2952/iwasm_fast_jit_unexpected_devide_by_zero.wasm new file mode 100644 index 000000000..42ca177be Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2952/iwasm_fast_jit_unexpected_devide_by_zero.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2953/iwasm_fast_interp_unexpected_exception2.wasm b/tests/regression/ba-issues/issues/issue-2953/iwasm_fast_interp_unexpected_exception2.wasm new file mode 100644 index 000000000..6a006e221 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2953/iwasm_fast_interp_unexpected_exception2.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2954/iwasm_jit_unexpected_exception_stack_underflow.wasm b/tests/regression/ba-issues/issues/issue-2954/iwasm_jit_unexpected_exception_stack_underflow.wasm new file mode 100644 index 000000000..e7ce2566f Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2954/iwasm_jit_unexpected_exception_stack_underflow.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2955/iwasm_fast_interp_unexpected_value.wasm b/tests/regression/ba-issues/issues/issue-2955/iwasm_fast_interp_unexpected_value.wasm new file mode 100644 index 000000000..65f8b39a0 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2955/iwasm_fast_interp_unexpected_value.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2956/iwasm_fast_interp_unexpected_value2.wasm b/tests/regression/ba-issues/issues/issue-2956/iwasm_fast_interp_unexpected_value2.wasm new file mode 100644 index 000000000..5a1b6ebee Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2956/iwasm_fast_interp_unexpected_value2.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2958/i64.gt_s_42.wasm b/tests/regression/ba-issues/issues/issue-2958/i64.gt_s_42.wasm new file mode 100644 index 000000000..e479fd03b Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2958/i64.gt_s_42.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2959/i64.gt_u_53.wasm b/tests/regression/ba-issues/issues/issue-2959/i64.gt_u_53.wasm new file mode 100644 index 000000000..1b85ea23b Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2959/i64.gt_u_53.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2960/i64.lt_s_88.wasm b/tests/regression/ba-issues/issues/issue-2960/i64.lt_s_88.wasm new file mode 100644 index 000000000..1e8b6adb0 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2960/i64.lt_s_88.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2961/i64.le_u_73.wasm b/tests/regression/ba-issues/issues/issue-2961/i64.le_u_73.wasm new file mode 100644 index 000000000..d114191d9 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2961/i64.le_u_73.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2962/i64.le_s_71.wasm b/tests/regression/ba-issues/issues/issue-2962/i64.le_s_71.wasm new file mode 100644 index 000000000..33baeb004 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2962/i64.le_s_71.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2963/i64.ge_u_17.wasm b/tests/regression/ba-issues/issues/issue-2963/i64.ge_u_17.wasm new file mode 100644 index 000000000..2bdb528be Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2963/i64.ge_u_17.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2964/i64.ge_s_6.wasm b/tests/regression/ba-issues/issues/issue-2964/i64.ge_s_6.wasm new file mode 100644 index 000000000..74f1f90f4 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2964/i64.ge_s_6.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2965/i64.shl_75.wasm b/tests/regression/ba-issues/issues/issue-2965/i64.shl_75.wasm new file mode 100644 index 000000000..29e44d0d1 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2965/i64.shl_75.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-2966/i64.eq_63.wasm b/tests/regression/ba-issues/issues/issue-2966/i64.eq_63.wasm new file mode 100644 index 000000000..ac24acf9c Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-2966/i64.eq_63.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3020/all_wamr_memory.init_no_exception2.wasm b/tests/regression/ba-issues/issues/issue-3020/all_wamr_memory.init_no_exception2.wasm new file mode 100644 index 000000000..787951447 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3020/all_wamr_memory.init_no_exception2.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3021/all_wamr_table.init_no_exception.wasm b/tests/regression/ba-issues/issues/issue-3021/all_wamr_table.init_no_exception.wasm new file mode 100644 index 000000000..4a410f783 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3021/all_wamr_table.init_no_exception.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3022/wamr_jit_timeout.wasm b/tests/regression/ba-issues/issues/issue-3022/wamr_jit_timeout.wasm new file mode 100644 index 000000000..fbb092864 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3022/wamr_jit_timeout.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3023/all_wamr_table.init_no_exception2.wasm b/tests/regression/ba-issues/issues/issue-3023/all_wamr_table.init_no_exception2.wasm new file mode 100644 index 000000000..b51d98d3e Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3023/all_wamr_table.init_no_exception2.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3026/wamr_fast_interpreter_memory_oob.wasm b/tests/regression/ba-issues/issues/issue-3026/wamr_fast_interpreter_memory_oob.wasm new file mode 100644 index 000000000..4abf8ebe8 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3026/wamr_fast_interpreter_memory_oob.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3027/wamr_jit_memory_oob2.wasm b/tests/regression/ba-issues/issues/issue-3027/wamr_jit_memory_oob2.wasm new file mode 100644 index 000000000..61dbb61df Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3027/wamr_jit_memory_oob2.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3061/wamr_fast_interpreter_crash.wasm b/tests/regression/ba-issues/issues/issue-3061/wamr_fast_interpreter_crash.wasm new file mode 100644 index 000000000..ed2347959 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3061/wamr_fast_interpreter_crash.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3062/wamr_fast_interpreter_wrong_float.wasm b/tests/regression/ba-issues/issues/issue-3062/wamr_fast_interpreter_wrong_float.wasm new file mode 100644 index 000000000..710637816 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3062/wamr_fast_interpreter_wrong_float.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3090/wamr_fast_interpreter_SIGSEGV.wasm b/tests/regression/ba-issues/issues/issue-3090/wamr_fast_interpreter_SIGSEGV.wasm new file mode 100644 index 000000000..8cfe120e8 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3090/wamr_fast_interpreter_SIGSEGV.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3122/test.wasm b/tests/regression/ba-issues/issues/issue-3122/test.wasm new file mode 100644 index 000000000..691b4b664 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3122/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3123/fast_nterpreter_unexpected_MEMOOB.wasm b/tests/regression/ba-issues/issues/issue-3123/fast_nterpreter_unexpected_MEMOOB.wasm new file mode 100644 index 000000000..9569385bf Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3123/fast_nterpreter_unexpected_MEMOOB.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3130/test.wasm b/tests/regression/ba-issues/issues/issue-3130/test.wasm new file mode 100644 index 000000000..b18f7317c Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3130/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3137/test.wasm b/tests/regression/ba-issues/issues/issue-3137/test.wasm new file mode 100644 index 000000000..2a9fbb968 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3137/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-315101/test.wasm b/tests/regression/ba-issues/issues/issue-315101/test.wasm new file mode 100644 index 000000000..00d51b278 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-315101/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-315101/test.wast b/tests/regression/ba-issues/issues/issue-315101/test.wast new file mode 100644 index 000000000..4ccb21e8e --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-315101/test.wast @@ -0,0 +1,24 @@ +(module + (data $string_data "asdf") + (func $print (import "spectest" "print_i32") (param $i i32)) + (memory $memory (export "memory") 1) + (type $string (array (mut i8))) + (type $var (struct (field (ref null $string)))) + + (func $test (param $param (ref $var)) + (local.get $param) + (struct.get $var 0) + (ref.as_non_null) + (array.len) + (call $print) + ) + (func $init + (local $str (ref $string)) + (array.new_data $string $string_data (i32.const 0) (i32.const 4)) + (local.set $str) + (struct.new $var (local.get $str)) + (call $test) + ) + + (export "_start" (func $init)) +) diff --git a/tests/regression/ba-issues/issues/issue-315102/test.wasm b/tests/regression/ba-issues/issues/issue-315102/test.wasm new file mode 100644 index 000000000..238959681 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-315102/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-315102/test.wast b/tests/regression/ba-issues/issues/issue-315102/test.wast new file mode 100644 index 000000000..81dc25f46 --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-315102/test.wast @@ -0,0 +1,15 @@ +(module + (data $string_data "asdf") + (func $print (import "spectest" "print_i32") (param $i i32)) + (memory $memory (export "memory") 1) + (type $string (array (mut i8))) + (func $init + (local $str (ref null $string)) + (array.new_data $string $string_data (i32.const 0) (i32.const 4)) + (local.tee $str) + (ref.as_non_null) + (array.len) + (call $print) + ) + (export "_start" (func $init)) +) diff --git a/tests/regression/ba-issues/issues/issue-3165/iwasm_jit_select_exception.wasm b/tests/regression/ba-issues/issues/issue-3165/iwasm_jit_select_exception.wasm new file mode 100644 index 000000000..a85afaf76 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3165/iwasm_jit_select_exception.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3170/iwasm_faster_interp_no_oom.wasm b/tests/regression/ba-issues/issues/issue-3170/iwasm_faster_interp_no_oom.wasm new file mode 100644 index 000000000..a65132dc6 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3170/iwasm_faster_interp_no_oom.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3210/3210.wasm b/tests/regression/ba-issues/issues/issue-3210/3210.wasm new file mode 100644 index 000000000..16c46f746 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3210/3210.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3210/3210.wast b/tests/regression/ba-issues/issues/issue-3210/3210.wast new file mode 100644 index 000000000..77d393697 --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-3210/3210.wast @@ -0,0 +1,111 @@ +(module + (type $0 (func (result i32))) + (type $1 (func (param f64 f64 i32 f64 f32) (result i32))) + (memory $3 1) + (table $2 2 funcref) + (global $4 (mut f64) (f64.const -0x1.0035c4524daf8p+7)) + (export "_main" (func $6)) + (elem $5 (i32.const 0) + $7 $8) + + (func $6 (type $0) + (result i32) + (local $0 i32) + (local $1 i64) + (local $2 f32) + (local $3 f64) + i32.const 385 + f64.const 0x1.9cbe6f8f163aap+9 + f64.store offset=39 align=2 + f64.const 0x1.4530cd2e8aa6bp+8 + i32.const 702 + f64.load offset=12 align=2 + local.tee $3 + local.get $3 + i64.reinterpret_f64 + i64.const 9218868437227405312 + i64.and + i64.popcnt + i64.const 11 + i64.eq + select + local.tee $3 + global.get $4 + i32.const 440 + i32.load16_u offset=58 align=1 + i32.const 178 + i32.load offset=16 align=2 + i32.and + global.get $4 + f64.const 0x1.abf60cf2b5ea8p+8 + i32.const 554 + f64.load offset=74 align=1 + local.tee $3 + local.get $3 + i64.reinterpret_f64 + i64.const 9218868437227405312 + i64.and + i64.popcnt + i64.const 11 + i64.eq + select + local.tee $3 + f64.min + i32.const 758 + i32.load16_u offset=35 align=1 + i32.const 334 + i32.load16_s offset=81 align=1 + br_if 0 + drop + f32.const 0x1.bbacd6p+9 + i32.const 1 + call_indirect $2 (type $1) + ) + + (func $7 (type $0) + (result i32) + i32.const 0 + ) + + (func $8 (type $1) + (param $0 f64) + (param $1 f64) + (param $2 i32) + (param $3 f64) + (param $4 f32) + (result i32) + (local $5 i32) + (local $6 i64) + (local $7 f32) + (local $8 f64) + (local $9 i32) + (local $10 i32) + i32.const 86 + local.set $10 + i32.const 684 + i32.load8_s offset=77 + local.tee $2 + i32.const 0 + call_indirect $2 (type $0) + i32.xor + local.set $9 + loop $loop + local.get $9 + i32.const 561 + i64.load offset=74 align=4 + i32.const 183 + i64.load offset=94 align=2 + i64.eq + i32.add + local.set $9 + local.get $10 + i32.const -1 + i32.add + local.tee $10 + br_if $loop + end ;; $loop + local.get $9 + local.get $2 + i32.extend8_s + i32.rotr + )) \ No newline at end of file diff --git a/tests/regression/ba-issues/issues/issue-3286/f32x4.add_66_116_17118879201058803.wasm b/tests/regression/ba-issues/issues/issue-3286/f32x4.add_66_116_17118879201058803.wasm new file mode 100644 index 000000000..50abcb745 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3286/f32x4.add_66_116_17118879201058803.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3336/memory.init_2164_858_1712663578577073.wasm b/tests/regression/ba-issues/issues/issue-3336/memory.init_2164_858_1712663578577073.wasm new file mode 100644 index 000000000..d7105fa18 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3336/memory.init_2164_858_1712663578577073.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3337/f32x4.gt_55_571_17107906309149652.wasm b/tests/regression/ba-issues/issues/issue-3337/f32x4.gt_55_571_17107906309149652.wasm new file mode 100644 index 000000000..0d23ef4ea Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3337/f32x4.gt_55_571_17107906309149652.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3346/test.wasm b/tests/regression/ba-issues/issues/issue-3346/test.wasm new file mode 100644 index 000000000..01f547c42 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3346/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3346/test.wast b/tests/regression/ba-issues/issues/issue-3346/test.wast new file mode 100644 index 000000000..c06375183 --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-3346/test.wast @@ -0,0 +1,67 @@ +(module + (type $0 (func)) + (type $1 (func (param f32 f32) (result f32))) + (type $2 (func (param i64 i64) (result i64))) + (memory $4 1) + (table $3 16 funcref) + (export "main" (func $5)) + + (func $5 (type $0) + (local $0 f32) + (local $1 i32) + (local $2 i64) + i32.const 1 + if $if + local.get $0 + drop + block $block (result i64) + loop $loop (result i64) + block $block_0 (result i64) + i64.const 9223372036854775807 + i64.const 4304854250827437017 + call $7 + local.get $0 + i64.trunc_sat_f32_s + i64.const 9223372036854775807 + i64.const 4304854250827437017 + call $7 + local.get $0 + unreachable + nop + unreachable + local.get $1 + local.tee $1 + select + local.get $1 + br_table + $block_0 + $block_0 ;; default + end ;; $block_0 + end ;; $loop + end ;; $block + local.set $2 + else + i32.const 1 + local.set $1 + end ;; $if + ) + + (func $6 (type $1) + (param $0 f32) + (param $1 f32) + (result f32) + local.get $0 + local.get $1 + f32.max + ) + + (func $7 (type $2) + (param $0 i64) + (param $1 i64) + (result i64) + local.get $1 + f64.convert_i64_u + i64.trunc_sat_f64_u + i64.const 9223372036854775807 + i64.and + )) \ No newline at end of file diff --git a/tests/regression/ba-issues/issues/issue-3347/test.wasm b/tests/regression/ba-issues/issues/issue-3347/test.wasm new file mode 100644 index 000000000..226d43463 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3347/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3386/test.wasm b/tests/regression/ba-issues/issues/issue-3386/test.wasm new file mode 100644 index 000000000..1c0015bcb Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3386/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3386/test.wast b/tests/regression/ba-issues/issues/issue-3386/test.wast new file mode 100644 index 000000000..a793b388d --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-3386/test.wast @@ -0,0 +1,28 @@ +(module + (type $0 (func)) + (type $1 (func (result i32))) + (type $2 (func (param i32 i32) (result i32 i32))) + (export "_start" (func $3)) + (export "to_test" (func $3)) + + (func $3 (type $1) + (result i32) + f32.const -0x1.0bb6d6p+2 + f32.const -0x1.2a640ap+2 + f32.ge + i32.const 353 + call $4 + i32.const 1 + if $if (param i32 i32) (result i32 i32) + end ;; $if + i32.gt_u + return + ) + + (func $4 (type $2) + (param $0 i32) + (param $1 i32) + (result i32 i32) + i32.const -1 + i32.const 2147483647 + )) diff --git a/tests/regression/ba-issues/issues/issue-3387/test.wasm b/tests/regression/ba-issues/issues/issue-3387/test.wasm new file mode 100644 index 000000000..b4bf86245 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3387/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3387/test.wast b/tests/regression/ba-issues/issues/issue-3387/test.wast new file mode 100644 index 000000000..23a6d2a25 --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-3387/test.wast @@ -0,0 +1,27 @@ +(module + (type (;0;) (func)) + (type (;1;) (func (result i32))) + (type (;2;) (func (param f32) (result f32))) + (func (;0;) (result i64) + i32.const -1518330408 + i64.const 1022 + i64.const 904 + i64.add + global.get 0 + i64.add + global.set 0 + f32.const 0x1.01499cp+1 (;=2.01006;) + call 1 + i32.const 0 + if (param f32) (result f32) ;; label = @1 + end + i64.trunc_f32_u + return + ) + (func (;1;) (type 2) (param f32) (result f32) + f32.const inf (;=inf;)) + (global (;0;) (mut i64) (i64.const 858)) + (global (;1;) (mut f64) (f64.const 0x1.0370499c98398p+3 (;=8.10746;))) + (export "_start" (func 0)) + (export "to_test" (func 0)) +) diff --git a/tests/regression/ba-issues/issues/issue-3388/test.wasm b/tests/regression/ba-issues/issues/issue-3388/test.wasm new file mode 100644 index 000000000..a1f6e90c5 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3388/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3388/test.wast b/tests/regression/ba-issues/issues/issue-3388/test.wast new file mode 100644 index 000000000..ad00df8f3 --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-3388/test.wast @@ -0,0 +1,24 @@ +(module + (type (;0;) (func)) + (type (;1;) (func (param i64 i64) (result i64 i64))) + (func (;0;) (result i64) + i64.const 230 + i64.const 366 + i64.div_u + i64.const 968 + call 1 + i32.const 0 + if (param i64 i64) (result i64 i64) ;; label = @1 + end + i64.div_u + ;; global.get 0 + ;; i64.add + ;; global.set 0 + ) + (func (;1;) (type 1) (param i64 i64) (result i64 i64) + i64.const 0 + i64.const 9223372036854775807) + (global (;0;) (mut i64) (i64.const 853)) + (global (;1;) (mut f32) (f32.const 0x1.2f312cp+3 (;=9.47475;))) + (export "_start" (func 0)) + (export "to_test" (func 0))) diff --git a/tests/regression/ba-issues/issues/issue-3401/f64.const_6LLPBLPP_856_1714940342309342.wasm b/tests/regression/ba-issues/issues/issue-3401/f64.const_6LLPBLPP_856_1714940342309342.wasm new file mode 100644 index 000000000..71b904adc Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3401/f64.const_6LLPBLPP_856_1714940342309342.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3402/tt_finterp_exceptionx.wasm b/tests/regression/ba-issues/issues/issue-3402/tt_finterp_exceptionx.wasm new file mode 100644 index 000000000..544598673 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3402/tt_finterp_exceptionx.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3403/test.wasm b/tests/regression/ba-issues/issues/issue-3403/test.wasm new file mode 100644 index 000000000..81dd5fba8 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3403/test.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3403/test.wast b/tests/regression/ba-issues/issues/issue-3403/test.wast new file mode 100644 index 000000000..5c7d83b08 --- /dev/null +++ b/tests/regression/ba-issues/issues/issue-3403/test.wast @@ -0,0 +1,21 @@ +(module + (type (;0;) (func)) + (type (;1;) (func (result i64))) + (type (;2;) (func (param i32 i32 i32) (result i32))) + (func (;0;) (type 1) (result i64) + i64.const 122 + i32.const 1 + i32.const 2147483647 + i32.const -1 + i32.const 1 + if (param i32 i32 i32) (result i32) ;; label = @1 + select + else + br 0 (;@1;) + nop + select + end + drop + ) + (export "_start" (func 0)) + (export "to_test" (func 0))) diff --git a/tests/regression/ba-issues/issues/issue-3410/kotlin_wasm_wasi_example_wasm_wasi_prod.wasm b/tests/regression/ba-issues/issues/issue-3410/kotlin_wasm_wasi_example_wasm_wasi_prod.wasm new file mode 100644 index 000000000..e992c9546 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3410/kotlin_wasm_wasi_example_wasm_wasi_prod.wasm differ diff --git a/tests/regression/ba-issues/issues/issue-3411/kotlin_wasm_wasi_example_wasm_wasi_dev.wasm b/tests/regression/ba-issues/issues/issue-3411/kotlin_wasm_wasi_example_wasm_wasi_dev.wasm new file mode 100644 index 000000000..8400cd138 Binary files /dev/null and b/tests/regression/ba-issues/issues/issue-3411/kotlin_wasm_wasi_example_wasm_wasi_dev.wasm differ diff --git a/tests/regression/ba-issues/run.py b/tests/regression/ba-issues/run.py new file mode 100755 index 000000000..7f26738d1 --- /dev/null +++ b/tests/regression/ba-issues/run.py @@ -0,0 +1,263 @@ +#!/usr/bin/env python3 + +# +# Copyright (C) 2019 Intel Corporation. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +# + +import json +import os +import subprocess +import glob +import re +from typing import Dict + +WORK_DIR = os.getcwd() +TEST_WASM_COMMAND = ( + "./build/build-{runtime}/iwasm {running_options} {running_mode} {file} {argument}" +) + +COMPILE_AOT_COMMAND = "./build/build-wamrc/{compiler} {options} -o {out_file} {in_file}" +TEST_AOT_COMMAND = "./build/build-{runtime}/iwasm {running_options} {file} {argument}" + +LOG_FILE = "issues_tests.log" +LOG_ENTRY = """ +======================================================= +Failing issue id: {}. +run with command_lists: {} +{} +{} +======================================================= +""" + + +# Function to read and parse JSON file +def read_json_file(file_path): + with open(file_path, "r") as file: + return json.load(file) + return None + + +def dump_error_log(failing_issue_id, command_lists, exit_code_cmp, stdout_cmp): + with open(LOG_FILE, "a") as file: + file.write( + LOG_ENTRY.format(failing_issue_id, command_lists, exit_code_cmp, stdout_cmp) + ) + + +def get_issue_ids_should_test(): + # Define the path pattern + path_pattern = "issues/issue-*" + + # Regular expression to extract the number + pattern = r"issue-(\d+)" + + # Initialize a set to store the issue numbers + issue_numbers = set() + + # Use glob to find directories matching the pattern + for dir_path in glob.glob(path_pattern): + # Extract the issue number using regular expression + match = re.search(pattern, dir_path) + if match: + issue_number = match.group(1) + issue_numbers.add(int(issue_number)) + + # Print the set of issue numbers + return issue_numbers + + +def get_and_check(d, key, default=None, nullable=False): + element = d.get(key, default) + + if not nullable and element is None: + raise Exception(f"Missing {key} in {d}") + + return element + + +def run_and_compare_results( + passed_ids, failed_ids, issue_id, cmd, description, ret_code, stdout_content +): + print(f"####################################") + print(f"test BA issue #{issue_id} `{description}`: {cmd}") + command_list = cmd.split() + result = subprocess.run( + command_list, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True, + errors="ignore", + ) + + actual_exit_code = result.returncode + actual_output = result.stdout.rstrip("\n") + + exit_code_cmp = f"exit code (actual, expected) : {actual_exit_code, ret_code}" + stdout_cmp = f"stdout (actual, expected) : {actual_output, stdout_content}" + print(exit_code_cmp) + print(stdout_cmp) + + if actual_exit_code == ret_code and ( + actual_output == stdout_content + or (stdout_content == "Compile success" + and actual_output.find(stdout_content) != -1) + or (len(stdout_content) > 30 and actual_output.find(stdout_content) != -1) + ): + passed_ids.add(issue_id) + print("== PASS ==") + else: + failed_ids.add(issue_id) + print(f"== FAILED: {issue_id} ==") + dump_error_log( + issue_id, + command_list, + exit_code_cmp, + stdout_cmp, + ) + + print("") + + +def run_issue_test_wamrc( + passed_ids, failed_ids, issue_id, compile_options, stdout_only_cmp_last_line=False +): + compiler = get_and_check(compile_options, "compiler") + only_compile = get_and_check(compile_options, "only compile") + in_file = get_and_check(compile_options, "in file") + out_file = get_and_check(compile_options, "out file") + options = get_and_check(compile_options, "options") + + expected_return = get_and_check(compile_options, "expected return") + ret_code = get_and_check(expected_return, "ret code") + stdout_content = get_and_check(expected_return, "stdout content") + description = get_and_check(expected_return, "description") + + issue_path = os.path.join(WORK_DIR, f"issues/issue-{issue_id}/") + # file maybe *.wasm or *.aot, needs to the match the exact file name + actual_file = glob.glob(issue_path + in_file) + assert len(actual_file) == 1 + # the absolute file path + in_file_path = os.path.join(issue_path, actual_file[0]) + out_file_path = os.path.join(issue_path, out_file) + + cmd = COMPILE_AOT_COMMAND.format( + compiler=compiler, options=options, out_file=out_file_path, in_file=in_file_path + ) + + run_and_compare_results( + passed_ids, failed_ids, issue_id, cmd, description, ret_code, stdout_content + ) + + return only_compile + + +def run_issue_test_iwasm(passed_ids, failed_ids, issue_id, test_case): + runtime = get_and_check(test_case, "runtime") + mode = get_and_check(test_case, "mode") + file = get_and_check(test_case, "file") + options = get_and_check(test_case, "options") + argument = get_and_check(test_case, "argument") + + expected_return = get_and_check(test_case, "expected return") + ret_code = get_and_check(expected_return, "ret code") + stdout_content = get_and_check(expected_return, "stdout content") + description = get_and_check(expected_return, "description") + + issue_path = os.path.join(WORK_DIR, f"issues/issue-{issue_id}/") + # file maybe *.wasm or *.aot, needs to the match the exact file name + actual_file = glob.glob(issue_path + file) + assert len(actual_file) == 1 + # the absolute file path + file_path = os.path.join(issue_path, actual_file[0]) + + if mode == "aot": + cmd = TEST_AOT_COMMAND.format( + runtime=runtime, + file=file_path, + running_options=options, + argument=argument, + ) + else: + if mode == "classic-interp": + running_mode = "--interp" + elif mode == "fast-interp": + running_mode = "" + else: + running_mode = f"--{mode}" + + cmd = TEST_WASM_COMMAND.format( + runtime=runtime, + running_mode=running_mode, + file=file_path, + running_options=options, + argument=argument, + ) + + run_and_compare_results( + passed_ids, failed_ids, issue_id, cmd, description, ret_code, stdout_content + ) + + +def process_and_run_test_cases(data: Dict[str, Dict]): + issue_ids_should_test = get_issue_ids_should_test() + + passed_ids = set() + failed_ids = set() + + for test_case in data.get("test cases", []): + is_deprecated = get_and_check(test_case, "deprecated") + issue_ids = get_and_check(test_case, "ids", default=[]) + + if is_deprecated: + print(f"test case {issue_ids} are deprecated, continue running nest one(s)") + continue + + compile_options = get_and_check(test_case, "compile_options", nullable=True) + for issue_id in issue_ids: + only_compile = False + # if this issue needs to test wamrc to compile the test case first + if compile_options: + only_compile = compile_options["only compile"] + run_issue_test_wamrc(passed_ids, failed_ids, issue_id, compile_options) + + # if this issue requires to test iwasm to run the test case + if not only_compile: + run_issue_test_iwasm(passed_ids, failed_ids, issue_id, test_case) + + # cross out the this issue_id in the should test set + issue_ids_should_test.remove(issue_id) + + total = len(passed_ids) + len(failed_ids) + passed = len(passed_ids) + failed = len(failed_ids) + issue_ids_should_test = ( + issue_ids_should_test if issue_ids_should_test else "no more" + ) + print(f"==== Test results ====") + print(f" Total: {total}") + print(f" Passed: {passed}") + print(f" Failed: {failed}") + + +def main(): + # Path to the JSON file + file_path = "running_config.json" + + # Read and parse the JSON file + data = read_json_file(file_path) + + # Check if data is successfully read + if data is None: + assert 0, "No data to process." + + # Remove the log file from last run if it exists + if os.path.exists(LOG_FILE): + os.remove(LOG_FILE) + + # Process the data + process_and_run_test_cases(data) + + +if __name__ == "__main__": + main() diff --git a/tests/regression/ba-issues/running_config.json b/tests/regression/ba-issues/running_config.json new file mode 100644 index 000000000..7ec213e4d --- /dev/null +++ b/tests/regression/ba-issues/running_config.json @@ -0,0 +1,1679 @@ +{ + "test cases": [ + { + "deprecated": true, + "ids": [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84 + ], + "runtime": "iwasm-default", + "mode": "classic-interp", + "file": "PoC.wasm", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "no segfault" + } + }, + { + "deprecated": false, + "ids": [ + 2857 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "10276.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f 4", + "argument": "110236574", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "no error 'type mismatch'" + } + }, + { + "deprecated": false, + "ids": [ + 2858 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "3605.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f 4", + "argument": "1", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "no error 'type mismatch'" + } + }, + { + "deprecated": false, + "ids": [ + 2863 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: END opcode expected", + "description": "no sanitizer 'Heap Buffer Overflow'" + } + }, + { + "deprecated": false, + "ids": [ + 2965 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "i64.shl_75.wasm", + "mode": "fast-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0xd060000000000000:i64", + "description": "expected output 0xd060000000000000:i64" + } + }, + { + "deprecated": false, + "ids": [ + 2966, + 2964, + 2963, + 2962 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "*.wasm", + "mode": "fast-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x0:i32", + "description": "expected output 0x0:i32" + } + }, + { + "deprecated": false, + "ids": [ + 2961, + 2960, + 2959, + 2958 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "*.wasm", + "mode": "fast-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x1:i32", + "description": "expected output 0x1:i32" + } + }, + { + "deprecated": false, + "ids": [ + 2956 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "iwasm_fast_interp_unexpected_value2.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0xffffffffffffffff:i64", + "description": "expected output 0xffffffffffffffff:i64" + } + }, + { + "deprecated": false, + "ids": [ + 2955 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "iwasm_fast_interp_unexpected_value.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x44e5d17eb93a0ce:i64", + "description": "expected output 0x44e5d17eb93a0ce:i64" + } + }, + { + "deprecated": false, + "ids": [ + 2954 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "iwasm_jit_unexpected_exception_stack_underflow.wasm", + "mode": "llvm-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "expected no exception" + } + }, + { + "deprecated": false, + "ids": [ + 2953 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "iwasm_fast_interp_unexpected_exception2.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x16006d52ce3ebd1a:i64", + "description": "expected no exception" + } + }, + { + "deprecated": false, + "ids": [ + 2952, + 2951 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "*.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "expected no exception" + } + }, + { + "deprecated": false, + "ids": [ + 2950 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "iwasm_fast_jit_unexpected_moob.wasm", + "mode": "fast-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "expected no exception" + } + }, + { + "deprecated": false, + "ids": [ + 2949, + 2944 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "*.wasm", + "mode": "fast-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "expected no exception" + } + }, + { + "deprecated": false, + "ids": [ + 2948, + 2946 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "*.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: integer divide by zero", + "description": "expected Exception: integer divide by zero" + } + }, + { + "deprecated": false, + "ids": [ + 2947 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "iwasm_fast_interp_int_overflow_double_free.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: integer overflow", + "description": "expected Exception: integer overflow" + } + }, + { + "deprecated": false, + "ids": [ + 2945 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "iwasm_fast_interp_moob_unhandled.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "expected Exception: out of bounds memory access" + } + }, + { + "deprecated": false, + "ids": [ + 3020 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "all_wamr_memory.init_no_exception2.wasm", + "mode": "fast-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "Exception: out of bounds memory access" + } + }, + { + "deprecated": false, + "ids": [ + 3021 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "all_wamr_table.init_no_exception.wasm", + "mode": "fast-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds table access", + "description": "Exception: out of bounds table access" + } + }, + { + "deprecated": false, + "ids": [ + 3023 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "all_wamr_table.init_no_exception2.wasm", + "mode": "fast-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds table access", + "description": "Exception: out of bounds table access" + } + }, + { + "deprecated": false, + "ids": [ + 3026 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "wamr_fast_interpreter_memory_oob.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0xffffffffffffffff:i64", + "description": "no 'out of bounds memory access' exception" + } + }, + { + "deprecated": false, + "ids": [ + 3027 + ], + "runtime": "iwasm-llvm-jit-wasi-disabled", + "file": "wamr_jit_memory_oob2.wasm", + "mode": "llvm-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "Exception: out of bounds memory access" + } + }, + { + "deprecated": false, + "ids": [ + 3061 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "wamr_fast_interpreter_crash.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x1:i32", + "description": "no 'double free or corruption'" + } + }, + { + "deprecated": false, + "ids": [ + 3062 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "wamr_fast_interpreter_wrong_float.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "nan:f32", + "description": "expected nan but not 0" + } + }, + { + "deprecated": false, + "ids": [ + 3090 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "wamr_fast_interpreter_SIGSEGV.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "no 'unhandled SIGSEGV'" + } + }, + { + "deprecated": false, + "ids": [ + 292001 + ], + "runtime": "iwasm-llvm-jit-wasi-disabled", + "file": "f64.load_147_5_17034195850743225.wasm", + "mode": "llvm-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0:f64", + "description": "no 'undeclared function reference'" + } + }, + { + "deprecated": false, + "ids": [ + 292002 + ], + "runtime": "iwasm-llvm-jit-wasi-disabled", + "file": "v128.load16x4_u_169_0_17034190656771224.wasm", + "mode": "llvm-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x0000000000000000 0x0000000000000000>:v128", + "description": "no 'undeclared function reference'" + } + }, + { + "deprecated": false, + "ids": [ + 2921 + ], + "runtime": "iwasm-llvm-jit-wasi-disabled", + "file": "v128.load64_lane_2635_10_1703418883268537.wasm", + "mode": "llvm-jit", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: invalid opcode 0xfd 277e8c.", + "description": "WASM module load failed: invalid opcode 0xfd 277e8c." + } + }, + { + "deprecated": false, + "ids": [ + 3122 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: lookup the entry point symbol (like main, _main, __main_argc_argv) failed", + "description": "no AddressSanitizer SEGV" + } + }, + { + "deprecated": false, + "ids": [ + 3123 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "fast_nterpreter_unexpected_MEMOOB.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "3:f64", + "description": "no 'out of bounds memory access' exception" + } + }, + { + "deprecated": false, + "ids": [ + 3130 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: unknown label, unexpected end of section or function", + "description": "no AddressSanitizer SEGV" + } + }, + { + "deprecated": false, + "ids": [ + 315101 + ], + "runtime": "iwasm-default-gc-enabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "in specttest.print_i32(4)", + "description": "no random result" + } + }, + { + "deprecated": false, + "ids": [ + 315102 + ], + "runtime": "iwasm-default-gc-enabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "in specttest.print_i32(4)", + "description": "no random result" + } + }, + { + "deprecated": false, + "ids": [ + 3137 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: unknown local", + "description": "no sanitizer 'heap-buffer-overflow'" + } + }, + { + "deprecated": false, + "ids": [ + 2943 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "iwasm_jit_timeout.wasm", + "mode": "llvm-jit", + "options": " --heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x0:i32", + "description": "no hanging" + } + }, + { + "deprecated": false, + "ids": [ + 2942 + ], + "runtime": "iwasm-multi-tier-jit-wasi-disabled", + "file": "iwasm_jit_without_exception.wasm", + "mode": "llvm-jit", + "options": " --heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "expected Exception: out of bounds memory access" + } + }, + { + "deprecated": false, + "ids": [ + 2931 + ], + "runtime": "iwasm-multi-tier-jit", + "file": "case.wasm", + "mode": "fast-jit", + "options": "", + "argument": "", + "expected return": { + "ret code": 3, + "stdout content": "", + "description": "expected return code: 3" + } + }, + { + "deprecated": false, + "ids": [ + 2897 + ], + "runtime": "iwasm-multi-tier-jit", + "file": "test.wasm", + "mode": "llvm-jit", + "options": "", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "expected no exception" + } + }, + { + "deprecated": false, + "ids": [ + 2847 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x10000:i32,0x10000:i32,0x10000:i32,0x10000:i32,0x10000:i32,0x10000:i32", + "description": "since optimization to one large page when page count is 65536 is removed, the output should be the same with other runtimes" + } + }, + { + "deprecated": false, + "ids": [ + 2849 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x0:i32,0x3867603a4258fb3a:i64,0:f64", + "description": "since optimization to one large page when page count is 65536 is removed, the output should be the same with other runtimes" + } + }, + { + "deprecated": false, + "ids": [ + 2861 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x0:i32,0x0:i32,0x0:i32,0x0:i32,0x0:i32,0x0:i32,-1.127242e+18:f32,0x75a142e20792c8c8:i64", + "description": "since optimization to one large page when page count is 65536 is removed, the output should be the same with other runtimes" + } + }, + { + "deprecated": false, + "ids": [ + 2862 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "1.844674e+19:f64,0x200d:i32,0x200d:i32,0x200d:i32,0x200d:i32", + "description": "since optimization to one large page when page count is 65536 is removed, the output should be the same with other runtimes" + } + }, + { + "deprecated": false, + "ids": [ + 2865 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": true, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: integer divide by zero", + "description": "since optimization to one large page when page count is 65536 is removed, the output should be the same with other runtimes" + } + }, + { + "deprecated": false, + "ids": [ + 2833 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "filea12287_4.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile success" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128", + "description": " Other runtimes are using qNaN(0x7fc00000) as the result while WAMR is using 0xffffffff(it is a NaN with arbitrary content) as the result." + } + }, + { + "deprecated": false, + "ids": [ + 2832 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "filea5770.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile success" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": " Other runtimes are using qNaN(0x7fc00000) as the result while WAMR is using 0xffffffff(it is a NaN with arbitrary content) as the result." + } + }, + { + "deprecated": false, + "ids": [ + 2829 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": true, + "in file": "filea262_9.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile success, it's ombination of issue #2678 and issue #2773" + } + } + }, + { + "deprecated": false, + "ids": [ + 2797 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "v19_tcs_memory.init_647.wasm", + "mode": "classic-interp", + "options": " --heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "expected OOB exception" + } + }, + { + "deprecated": false, + "ids": [ + 2790 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": true, + "in file": "232.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile success, no 'Error: WASM data stack underflow.'" + } + } + }, + { + "deprecated": false, + "ids": [ + 2787 + ], + "runtime": "iwasm-default", + "file": "sock_shutdown.wasm", + "mode": "classic-interp", + "options": "", + "argument": "", + "expected return": { + "ret code": 57, + "stdout content": "", + "description": "sock_shutdown on a non-socket file descriptor should fail with 57 notsock" + } + }, + { + "deprecated": false, + "ids": [ + 2784 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": true, + "in file": "6.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile success" + } + } + }, + { + "deprecated": false, + "ids": [ + 2759 + ], + "runtime": "iwasm-multi-tier-jit", + "file": "case.wasm", + "mode": "fast-jit", + "options": "", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "Fast-jit callnative compilation issue, fix with #2765" + } + }, + { + "deprecated": false, + "ids": [ + 2732 + ], + "runtime": "iwasm-multi-tier-jit", + "file": "filea9.wasm", + "mode": "llvm-jit", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: integer divide by zero", + "description": "TODO: implement limitation, refer to #2773" + } + }, + { + "deprecated": false, + "ids": [ + 2726 + ], + "runtime": "iwasm-default", + "file": "poc", + "mode": "classic-interp", + "options": "", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: unexpected end of section or function", + "description": "no 'Heap out of bound read of size 1 in wasm_loader_prepare_bytecode function'" + } + }, + { + "deprecated": false, + "ids": [ + 3165 + ], + "runtime": "iwasm-llvm-jit-wasi-disabled", + "file": "iwasm_jit_select_exception.wasm", + "mode": "llvm-jit", + "options": " --heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "func:ref.null", + "description": "expected no 'WASM module load failed: Error: invalid stack values with different type'" + } + }, + { + "deprecated": true, + "ids": [ + 2720 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "TODO: current are infinite looping Exception: out of bounds memory access" + } + }, + { + "deprecated": false, + "ids": [ + 2714 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x1c664075fffffa38 0xe5d70a533e8e2025>:v128,<0x1c664075fffffa38 0xe5d70a533e8e2025>:v128,<0x1c664075fffffa38 0xe5d70a533e8e2025>:v128,<0x1c664075fffffa38 0xe5d70a533e8e2025>:v128,<0x1c664075fffffa38 0xe5d70a533e8e2025>:v128,<0x1c664075fffffa38 0xe5d70a533e8e2025>:v128,<0x1c664075fffffa38 0xe5d70a533e8e2025>:v128,<0x1c664075fffffa38 0xe5d70a533e8e2025>:v128,0x7fffffff:i32", + "description": "expected 305509764278724137911362181367523703352 TODO: result wamtime = wasmer != wasmedge = wamr" + } + }, + { + "deprecated": false, + "ids": [ + 2713 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0xffffffff0000ffff 0xffffffffffffffff>:v128,<0xffffffff0000ffff 0xffffffffffffffff>:v128,<0xffffffff0000ffff 0xffffffffffffffff>:v128,<0xffffffff0000ffff 0xffffffffffffffff>:v128,<0xffffffff0000ffff 0xffffffffffffffff>:v128,<0xffffffff0000ffff 0xffffffffffffffff>:v128,<0xffffffff0000ffff 0xffffffffffffffff>:v128", + "description": "expected 340282366920938463463374607427473309695" + } + }, + { + "deprecated": false, + "ids": [ + 2712 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x1b702910:i32,<0x0000000000000000 0x6fe8006200000000>:v128,<0x0000000000000000 0x6fe8006200000000>:v128,<0x0000000000000000 0x6fe8006200000000>:v128,<0x0000000000000000 0x6fe8006200000000>:v128,<0x0000000000000000 0x6fe8006200000000>:v128,<0x0000000000000000 0x6fe8006200000000>:v128,<0x0000000000000000 0x6fe8006200000000>:v128,<0x0000000000000000 0x6fe8006200000000>:v128", + "description": "expected 148748928167665668300046743006804443136" + } + }, + { + "deprecated": false, + "ids": [ + 2711 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x0000000000000000 0xffffffffffffffff>:v128,<0x0000000000000000 0xffffffffffffffff>:v128,<0x0000000000000000 0xffffffffffffffff>:v128,<0x0000000000000000 0xffffffffffffffff>:v128,<0x0000000000000000 0xffffffffffffffff>:v128,<0x0000000000000000 0xffffffffffffffff>:v128,<0x0000000000000000 0xffffffffffffffff>:v128", + "description": "expected 340282366920938463444927863358058659840" + } + }, + { + "deprecated": false, + "ids": [ + 2710 + ], + "runtime": "iwasm-multi-tier-jit", + "file": "t.wasm", + "mode": "fast-jit", + "options": "", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "expected no fast jit compilation error" + } + }, + { + "deprecated": false, + "ids": [ + 2709 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128,<0x0000000000000000 0x0000000000000000>:v128", + "description": "expected 0" + } + }, + { + "deprecated": false, + "ids": [ + 270801 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "filea3054_instr_instr.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128", + "description": "expected same return with 270802" + } + }, + { + "deprecated": false, + "ids": [ + 270802 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "filea3054.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected same return with 270801" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128,<0xffffffff00000000 0xffffffff00000000>:v128", + "description": "expected 0" + } + }, + { + "deprecated": false, + "ids": [ + 2706 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0xffffffffffffffff 0xffffffffffffffff>:v128,<0xffffffffffffffff 0xffffffffffffffff>:v128,<0xffffffffffffffff 0xffffffffffffffff>:v128,<0xffffffffffffffff 0xffffffffffffffff>:v128,<0xffffffffffffffff 0xffffffffffffffff>:v128,<0xffffffffffffffff 0xffffffffffffffff>:v128,<0xffffffffffffffff 0xffffffffffffffff>:v128", + "description": "expected 340282366920938463463374607431768211455 TODO: result wamtime = wasmer != wasmedge = wamr" + } + }, + { + "deprecated": false, + "ids": [ + 2705 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128,<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128,<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128,<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128,<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128,<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128,<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128,<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128,<0x423f52a258c09ad9 0x4f558a41e9a7b624>:v128", + "description": "expected 105453161094652439705331636252451052249 TODO: result wamtime = wasmer != wasmedge = wamr" + } + }, + { + "deprecated": false, + "ids": [ + 2704 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0xffff0000ffff0000 0xffff0000ffff0000>:v128,<0xffff0000ffff0000 0xffff0000ffff0000>:v128,<0xffff0000ffff0000 0xffff0000ffff0000>:v128,<0xffff0000ffff0000 0xffff0000ffff0000>:v128,<0xffff0000ffff0000 0xffff0000ffff0000>:v128,<0xffff0000ffff0000 0xffff0000ffff0000>:v128,<0xffff0000ffff0000 0xffff0000ffff0000>:v128", + "description": "expected 340277174703306882242637262502835978240 TODO: result wamtime = wasmer != wasmedge = wamr" + } + }, + { + "deprecated": false, + "ids": [ + 2703 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x00000000ffffffad 0x0000000000000000>:v128,<0x00000000ffffffad 0x0000000000000000>:v128,<0x00000000ffffffad 0x0000000000000000>:v128,<0x00000000ffffffad 0x0000000000000000>:v128,<0x00000000ffffffad 0x0000000000000000>:v128", + "description": "expected 4294967213" + } + }, + { + "deprecated": false, + "ids": [ + 2702 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x0000070700000707 0x0000070700000707>:v128,<0x0000070700000707 0x0000070700000707>:v128,<0x0000070700000707 0x0000070700000707>:v128,<0x0000070700000707 0x0000070700000707>:v128,<0x0000070700000707 0x0000070700000707>:v128,<0x0000070700000707 0x0000070700000707>:v128,<0x0000070700000707 0x0000070700000707>:v128", + "description": "expected 142531464396347235927115696178951" + } + }, + { + "deprecated": false, + "ids": [ + 2701 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x0000ffb100000000 0x8c4357900000006e>:v128,<0x0000ffb100000000 0x8c4357900000006e>:v128,<0x0000ffb100000000 0x8c4357900000006e>:v128,<0x0000ffb100000000 0x8c4357900000006e>:v128,<0x0000ffb100000000 0x8c4357900000006e>:v128,<0x0000ffb100000000 0x8c4357900000006e>:v128,<0x0000ffb100000000 0x8c4357900000006e>:v128,<0x0000ffb100000000 0x8c4357900000006e>:v128,<0x0000ffb100000000 0x8c4357900000006e>:v128", + "description": "expected 186441579277900977436178157818221690880" + } + }, + { + "deprecated": false, + "ids": [ + 2700 + ], + "compile_options": { + "compiler": "wamrc", + "only compile": false, + "in file": "*.wasm", + "out file": "out.aot", + "options": "", + "expected return": { + "ret code": 0, + "stdout content": "Compile success", + "description": "expected compile successfully" + } + }, + "runtime": "iwasm-default", + "file": "out.aot", + "mode": "aot", + "options": "--heap-size=0 -f main", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "<0x00f400a0008c00d0 0x005300e0002c00c0>:v128,<0x00f400a0008c00d0 0x005300e0002c00c0>:v128,<0x00f400a0008c00d0 0x005300e0002c00c0>:v128,<0x00f400a0008c00d0 0x005300e0002c00c0>:v128,<0x00f400a0008c00d0 0x005300e0002c00c0>:v128,<0x00f400a0008c00d0 0x005300e0002c00c0>:v128,<0x00f400a0008c00d0 0x005300e0002c00c0>:v128", + "description": "expected 430978386419990166286238566612467920" + } + }, + { + "deprecated": false, + "ids": [ + 3170 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "iwasm_faster_interp_no_oom.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: out of bounds memory access", + "description": "OOB" + } + }, + { + "deprecated": false, + "ids": [ + 3210 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "3210.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "", + "description": "no segfault" + } + }, + { + "deprecated": false, + "ids": [ + 3286 + ], + "runtime": "iwasm-llvm-jit-wasi-disabled", + "file": "f32x4.add_66_116_17118879201058803.wasm", + "mode": "llvm-jit", + "options": "", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: invalid opcode 0xfd a5.", + "description": "report invalid opcode" + } + }, + { + "deprecated": false, + "ids": [ + 3336 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "memory.init_2164_858_1712663578577073.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: undeclared function reference", + "description": "expected 'undeclared function reference'" + } + }, + { + "deprecated": false, + "ids": [ + 3337 + ], + "runtime": "iwasm-llvm-jit-wasi-disabled", + "file": "f32x4.gt_55_571_17107906309149652.wasm", + "mode": "llvm-jit", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: opcode else found without matched opcode if", + "description": "duplicated else opcodes for if block" + } + }, + { + "deprecated": false, + "ids": [ + 3346 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: unreachable", + "description": "no sanitizer 'heap-buffer-overflow'" + } + }, + { + "deprecated": false, + "ids": [ + 3347 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0", + "argument": "", + "expected return": { + "ret code": 255, + "stdout content": "WASM module load failed: unknown label, unexpected end of section or function", + "description": "no 'Out-of-Bound Memory Read'" + } + }, + { + "deprecated": false, + "ids": [ + 3386 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x1:i32", + "description": "return 1 but not 0" + } + }, + { + "deprecated": false, + "ids": [ + 3387 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 1, + "stdout content": "Exception: integer overflow", + "description": "expected 'integer overflow'" + } + }, + { + "deprecated": false, + "ids": [ + 3388 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x0:i64", + "description": "no 'integer divide by zero'" + } + }, + { + "deprecated": false, + "ids": [ + 3401 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "f64.const_6LLPBLPP_856_1714940342309342.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "-0.5392354:f64", + "description": "no 'invalid local type'" + } + }, + { + "deprecated": false, + "ids": [ + 3402 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "tt_finterp_exceptionx.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x2d0:i64", + "description": "no 'integer overflow'" + } + }, + { + "deprecated": false, + "ids": [ + 3403 + ], + "runtime": "iwasm-default-wasi-disabled", + "file": "test.wasm", + "mode": "fast-interp", + "options": "--heap-size=0 -f to_test", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "0x7a:i64", + "description": "no '0x100000001:i64'" + } + }, + { + "deprecated": false, + "ids": [ + 3410 + ], + "runtime": "iwasm-default-gc-enabled", + "file": "kotlin_wasm_wasi_example_wasm_wasi_prod.wasm", + "mode": "fast-interp", + "options": "", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "Hello from Kotlin via WASI\nCurrent 'realtime' timestamp is:", + "description": "no 'struct or array as field is not supported in constant expr'" + } + }, + { + "deprecated": false, + "ids": [ + 3411 + ], + "runtime": "iwasm-default-gc-enabled", + "file": "kotlin_wasm_wasi_example_wasm_wasi_dev.wasm", + "mode": "fast-interp", + "options": "", + "argument": "", + "expected return": { + "ret code": 0, + "stdout content": "Hello from Kotlin via WASI\nCurrent 'realtime' timestamp is:", + "description": "no 'type mismatch: expect (ref null ht) but got other1 unknown type'" + } + } + ] +}