40 lines
1.3 KiB
Bash
40 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Minimal golden MIR check for CI/local use
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
cd "$ROOT_DIR"
|
|
|
|
PAIRS=(
|
|
"local_tests/typeop_is_as_func_poc.hako docs/development/testing/golden/typeop_is_as_func_poc.mir.txt"
|
|
"local_tests/typeop_is_as_poc.hako docs/development/testing/golden/typeop_is_as_poc.mir.txt"
|
|
"local_tests/extern_console_log.hako docs/development/testing/golden/extern_console_log.mir.txt"
|
|
"local_tests/simple_loop_test.hako docs/development/testing/golden/loop_simple.mir.txt"
|
|
"local_tests/test_vm_array_getset.hako docs/development/testing/golden/boxcall_array_getset.mir.txt"
|
|
"local_tests/typeop_mixed.hako docs/development/testing/golden/typeop_mixed.mir.txt"
|
|
"local_tests/loop_nested_if_test.hako docs/development/testing/golden/loop_nested_if.mir.txt"
|
|
)
|
|
|
|
FAILED=0
|
|
|
|
for pair in "${PAIRS[@]}"; do
|
|
in_file="${pair%% *}"
|
|
golden_file="${pair##* }"
|
|
if [ ! -f "$in_file" ]; then
|
|
echo "[GOLDEN] Skip missing input: $in_file"
|
|
continue
|
|
fi
|
|
echo "[GOLDEN] Checking: $in_file vs $golden_file"
|
|
if ! ./tools/compare_mir.sh "$in_file" "$golden_file"; then
|
|
echo "[GOLDEN] Mismatch (non-blocking): $in_file" >&2
|
|
FAILED=$((FAILED+1))
|
|
continue
|
|
fi
|
|
done
|
|
if [ "$FAILED" -eq 0 ]; then
|
|
echo "All golden MIR snapshots match."
|
|
else
|
|
echo "Golden mismatches: $FAILED (non-blocking summary)"
|
|
fi
|