All checks were successful
Build and test project / build-and-test (push) Successful in 1m32s
36 lines
1.1 KiB
Bash
Executable File
36 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# Integration test: runs the full WASM patching pipeline with SHA1 checksum
|
|
# validation against a real firmware zip.
|
|
|
|
cd "$(dirname "$0")"
|
|
|
|
# Use local Go if available
|
|
LOCAL_GO_DIR="$(pwd)/go"
|
|
if [ -x "$LOCAL_GO_DIR/bin/go" ]; then
|
|
export GOROOT="$LOCAL_GO_DIR"
|
|
export PATH="$LOCAL_GO_DIR/bin:$PATH"
|
|
fi
|
|
|
|
FIRMWARE_FILE="${FIRMWARE_ZIP:-$(cd .. && pwd)/tests/cached_assets/kobo-update-4.45.23646.zip}"
|
|
if [ ! -f "$FIRMWARE_FILE" ]; then
|
|
echo "ERROR: Firmware zip not found at $FIRMWARE_FILE"
|
|
echo "Run ./test.sh from the project root to download test assets."
|
|
exit 1
|
|
fi
|
|
|
|
# Find the WASM test executor.
|
|
GOROOT="$(go env GOROOT)"
|
|
if [ -f "$GOROOT/lib/wasm/go_js_wasm_exec" ]; then
|
|
EXEC="$GOROOT/lib/wasm/go_js_wasm_exec"
|
|
elif [ -f "$GOROOT/misc/wasm/go_js_wasm_exec" ]; then
|
|
EXEC="$GOROOT/misc/wasm/go_js_wasm_exec"
|
|
else
|
|
echo "ERROR: go_js_wasm_exec not found in GOROOT ($GOROOT)"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Running integration test..."
|
|
FIRMWARE_ZIP="$FIRMWARE_FILE" GOOS=js GOARCH=wasm go test -v -run TestIntegrationPatch -timeout 300s -exec="$EXEC" .
|