20 lines
597 B
Bash
Executable File
20 lines
597 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
MODULE="${1:?usage: scripts/smoke-qemu-wasm.sh <qemu-system-riscv32.js>}"
|
|
OUTPUT="$(mktemp)"
|
|
trap 'rm -f "$OUTPUT"' EXIT
|
|
|
|
timeout 15 node "$(dirname "$0")/smoke-qemu-wasm.mjs" "$MODULE" >"$OUTPUT" 2>&1 || status=$?
|
|
status="${status:-0}"
|
|
if [ "$status" -ne 0 ] && [ "$status" -ne 1 ] && [ "$status" -ne 124 ]; then
|
|
cat "$OUTPUT" >&2
|
|
exit "$status"
|
|
fi
|
|
|
|
grep -F 'xteink xteink X3/X4 (ESP32-C3); variant=x3|x4' "$OUTPUT" >/dev/null
|
|
if grep -Eq 'RuntimeError|table index is out of bounds' "$OUTPUT"; then
|
|
cat "$OUTPUT" >&2
|
|
exit 1
|
|
fi
|