makepad/libs/stitch/tests/testsuite/extract-parts.sh
2025-05-06 10:11:37 +02:00

35 lines
833 B
Bash
Executable file

#!/bin/bash
set -e
set -u
set -o pipefail
# This script extracts the modules from the testsuite test files into
# individual files in the following directories:
# - valid - valid wasm modules
# - invalid - wasm modules that fail to validate
# - malformed - wasm text tests that fail to parse
wabt="../wabt"
wabtbin="$wabt/bin"
mkdir -p valid invalid malformed
rm -f valid/*.wasm
rm -f invalid/*.wasm
rm -f malformed/*.wat
for wast in *.wast; do
base="${wast##*/}"
json="invalid/${base%.wast}.json"
"$wabtbin/wast2json" "$wast" -o "$json"
rm "$json"
done
mv invalid/*.wat malformed
for wasm in invalid/*.wasm; do
if "$wabtbin/wasm2wat" "$wasm" -o invalid/t.wat 2>/dev/null && \
"$wabtbin/wat2wasm" invalid/t.wat -o /dev/null 2>/dev/null ; then
mv "$wasm" valid
fi
done
rm invalid/t.wat