2025-09-18 13:35:38 +09:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
2025-09-19 02:07:38 +09:00
|
|
|
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/../.." && pwd)
|
2025-09-18 13:35:38 +09:00
|
|
|
cd "$ROOT"
|
|
|
|
|
|
2025-09-19 02:07:38 +09:00
|
|
|
# PHI policy: default to PHI-off; allow override from caller
|
|
|
|
|
export NYASH_MIR_NO_PHI=${NYASH_MIR_NO_PHI:-1}
|
|
|
|
|
# Edge-copy strict verifier is opt-in (default off)
|
|
|
|
|
export NYASH_VERIFY_EDGE_COPY_STRICT=${NYASH_VERIFY_EDGE_COPY_STRICT:-0}
|
|
|
|
|
|
2025-09-18 13:35:38 +09:00
|
|
|
echo "[fast] Build (release) ..." >&2
|
|
|
|
|
cargo build --release -j 8 >/dev/null
|
|
|
|
|
cargo build --release -p nyash-llvm-compiler -j 8 >/dev/null
|
|
|
|
|
cargo build --release -p nyrt -j 8 >/dev/null
|
|
|
|
|
|
|
|
|
|
echo "[fast] PyVM Stage-2 minimal ..." >&2
|
|
|
|
|
timeout -s KILL 30s bash tools/pyvm_stage2_smoke.sh || true
|
|
|
|
|
|
|
|
|
|
echo "[fast] Short-circuit bridge ..." >&2
|
|
|
|
|
timeout -s KILL 30s bash tools/ny_stage2_shortcircuit_smoke.sh
|
|
|
|
|
|
|
|
|
|
echo "[fast] crate EXE smokes (3 cases) ..." >&2
|
2025-11-06 15:41:52 +09:00
|
|
|
timeout -s KILL 60s bash tools/crate_exe_smoke.sh apps/tests/ternary_basic.hako >/dev/null
|
|
|
|
|
timeout -s KILL 60s bash tools/crate_exe_smoke.sh apps/tests/ternary_nested.hako >/dev/null
|
|
|
|
|
timeout -s KILL 60s bash tools/crate_exe_smoke.sh apps/tests/peek_expr_block.hako >/dev/null
|
2025-09-18 13:35:38 +09:00
|
|
|
|
2025-09-19 02:07:38 +09:00
|
|
|
echo "[fast] PyVM vs llvmlite parity (exit code) ..." >&2
|
2025-11-06 15:41:52 +09:00
|
|
|
timeout -s KILL 120s bash tools/pyvm_vs_llvmlite.sh apps/tests/loop_if_phi.hako >/dev/null || true
|
2025-09-18 13:35:38 +09:00
|
|
|
|
2025-09-19 02:07:38 +09:00
|
|
|
# Optional: PHI trace smoke (enable with NYASH_LLVM_TRACE_SMOKE=1)
|
|
|
|
|
if [[ "${NYASH_LLVM_TRACE_SMOKE:-0}" == "1" ]]; then
|
|
|
|
|
echo "[fast] PHI trace smoke (optional) ..." >&2
|
|
|
|
|
timeout -s KILL 60s bash tools/test/smoke/llvm/phi_trace/test.sh >/dev/null || true
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "✅ fast_local smokes passed" >&2
|