From f6fe4f332decf9dc491ea9e49bdbf4ef8dff145b Mon Sep 17 00:00:00 2001 From: nyash-codex Date: Wed, 5 Nov 2025 21:27:39 +0900 Subject: [PATCH] phase-20.45: MirBuilder-prefer match canary - Add mirbuilder_prefer_mirbuilder_match_core_exec_canary_vm.sh (Expect rc=42) --- ...er_mirbuilder_match_core_exec_canary_vm.sh | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 tools/smokes/v2/profiles/quick/core/phase2043/mirbuilder_prefer_mirbuilder_match_core_exec_canary_vm.sh diff --git a/tools/smokes/v2/profiles/quick/core/phase2043/mirbuilder_prefer_mirbuilder_match_core_exec_canary_vm.sh b/tools/smokes/v2/profiles/quick/core/phase2043/mirbuilder_prefer_mirbuilder_match_core_exec_canary_vm.sh new file mode 100644 index 00000000..a20aaa4f --- /dev/null +++ b/tools/smokes/v2/profiles/quick/core/phase2043/mirbuilder_prefer_mirbuilder_match_core_exec_canary_vm.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"; if ROOT_GIT=$(git -C "$SCRIPT_DIR" rev-parse --show-toplevel 2>/dev/null); then ROOT="$ROOT_GIT"; else ROOT="$(cd "$SCRIPT_DIR/../../../../../../../../.." && pwd)"; fi +source "$ROOT/tools/smokes/v2/lib/test_runner.sh"; require_env || exit 2 + +tmp_prog="/tmp/prog_prefer_mirbuilder_match_$$.json" +cat >"$tmp_prog" <<'JSON' +{"version":0,"kind":"Program","body":[ + {"type":"Return","expr":{"type":"Match","scrutinee":{"type":"Str","value":"A"}, + "arms":[{"label":"A","expr":{"type":"Int","value":42}}, {"label":"B","expr":{"type":"Int","value":0}}], + "else":{"type":"Int","value":1}}} +]} +JSON + +set +e +HAKO_PREFER_MIRBUILDER=1 HAKO_VERIFY_PRIMARY=core verify_program_via_builder_to_core "$tmp_prog" >/dev/null 2>&1 +rc=$? +set -e +rm -f "$tmp_prog" || true + +if [ "$rc" -eq 42 ]; then + echo "[PASS] mirbuilder_prefer_mirbuilder_match_core_exec_canary_vm" + exit 0 +fi +echo "[FAIL] mirbuilder_prefer_mirbuilder_match_core_exec_canary_vm (rc=$rc, expect 42)" >&2; exit 1 +