#!/bin/bash # Porffor Wasmer Test Script # Tests the Porffor WASM module using Wasmer runtime set -e echo "๐Ÿงช Testing Porffor implementation with Wasmer" echo "=============================================" # Test data TEST_INPUT='{"users":[{"name":"Alice","age":30},{"name":"Bob","age":25}]}' WASM_FILE="transform.wasm" echo "๐Ÿ“‹ Test Input: $TEST_INPUT" echo "๐Ÿ“ WASM File: $WASM_FILE" # Check if WASM file exists if [ ! -f "$WASM_FILE" ]; then echo "โŒ WASM file not found: $WASM_FILE" echo " Run: porf wasm transform.js transform.wasm" exit 1 fi echo "๐Ÿ“Š File Size: $(du -h "$WASM_FILE" | cut -f1) ($(du -h "$WASM_FILE" | cut -f1 | numfmt --from=iec --to=si)B)" echo "๐Ÿ“ฆ Gzipped: $(gzip -c "$WASM_FILE" | wc -c | numfmt --to=iec)B" # Check if Wasmer is installed if ! command -v wasmer >/dev/null 2>&1; then echo "โŒ Wasmer not installed" echo " Install with: curl https://get.wasmer.io -sSfL | sh" echo " Then run: source ~/.bashrc" exit 1 fi echo "๐Ÿš€ Wasmer version: $(wasmer --version)" echo "" # Test with Wasmer echo "๐Ÿ”ง Testing Porffor with Wasmer..." echo " Command: echo '$TEST_INPUT' | wasmer run $WASM_FILE" echo "" if echo "$TEST_INPUT" | wasmer run "$WASM_FILE"; then echo "" echo "โœ… Porffor + Wasmer: SUCCESS!" echo "" echo "๐ŸŽฏ Integration Notes:" echo " โ€ข Porffor compiles to standard WASM" echo " โ€ข No special runtime requirements" echo " โ€ข AOT compiled JavaScript (75KB gzipped)" echo " โ€ข Perfect for Wasmer SDK integration" echo " โ€ข Smallest size for single operations" else echo "" echo "โŒ Porffor + Wasmer: FAILED" echo "" echo "๐Ÿ” Troubleshooting:" echo " โ€ข Ensure WASM file is built with: porf wasm transform.js transform.wasm" echo " โ€ข Check Wasmer installation: wasmer --version" echo " โ€ข Try with verbose output: wasmer run $WASM_FILE --verbose" fi