diff --git a/test/default/wasi-test-wrapper.sh b/test/default/wasi-test-wrapper.sh index 06335608..44534f39 100755 --- a/test/default/wasi-test-wrapper.sh +++ b/test/default/wasi-test-wrapper.sh @@ -2,6 +2,9 @@ MAX_MEMORY_TESTS="67108864" +unset LDFLAGS +unset CFLAGS + if command -v wasm-opt >/dev/null; then wasm-opt -O4 -o "${1}.tmp" "$1" && mv -f "${1}.tmp" "$1" fi @@ -14,13 +17,13 @@ fi if [ -z "$WASI_RUNTIME" ] || [ "$WASI_RUNTIME" = "wasmtime" ]; then if command -v wasmtime >/dev/null; then - wasmtime -o --dir=. "$1" && exit 0 + wasmtime run --dir=. "$1" && exit 0 fi fi if [ -z "$WASI_RUNTIME" ] || [ "$WASI_RUNTIME" = "wasmer" ]; then if command -v wasmer >/dev/null; then - wasmer run "$1" --backend "${WASMER_BACKEND:-cranelift}" --dir=. && exit 0 + wasmer run "$1" "--${WASMER_BACKEND:-cranelift}" --dir=. && exit 0 fi fi @@ -36,5 +39,23 @@ if [ -z "$WASI_RUNTIME" ] || [ "$WASI_RUNTIME" = "wasm3" ]; then fi fi +if [ -z "$WASI_RUNTIME" ] || [ "$WASI_RUNTIME" = "iwasm" ]; then + if iwasm | grep -qi wasi >/dev/null 2>&1; then + iwasm "$1" && exit 0 + fi +fi + +if [ -z "$WASI_RUNTIME" ] || [ "$WASI_RUNTIME" = "lucet" ]; then + if command -v lucetc-wasi >/dev/null && command -v lucet-wasi >/dev/null; then + lucetc-wasi \ + --target-cpu native \ + --reserved-size "${MAX_MEMORY_TESTS}" \ + --opt-level speed \ + "$1" -o "${1}.so" && + lucet-wasi --dir=.:. --max-heap-size "${MAX_MEMORY_TESTS}" "${1}.so" && + rm -f "${1}.so" && exit 0 + fi +fi + echo "WebAssembly runtime failed" >&2 exit 1