2025-09-22 21:52:39 +09:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
|
|
# Smoke: Stage 0/1 selfhost runner wiring (harness JSON path)
|
|
|
|
|
|
2025-09-22 23:25:35 +09:00
|
|
|
ROOT_DIR=$(cd "$(dirname "$0")/../../../.." && pwd)
|
2025-09-22 21:52:39 +09:00
|
|
|
cd "$ROOT_DIR"
|
|
|
|
|
|
|
|
|
|
echo "[smoke] building nyash (release)"
|
|
|
|
|
cargo build --release -q
|
|
|
|
|
|
|
|
|
|
BIN=./target/release/nyash
|
|
|
|
|
APP=apps/tests/dev_prints_count_probe.nyash
|
|
|
|
|
|
|
|
|
|
if [[ ! -x "$BIN" ]]; then
|
|
|
|
|
echo "nyash binary not found: $BIN" >&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "[smoke] running selfhost runner (harness)"
|
|
|
|
|
set +e
|
|
|
|
|
OUT=$(NYASH_VM_USE_PY=1 NYASH_SELFHOST_EXEC=1 "$BIN" --backend vm "$APP" -- --trace 2>&1)
|
|
|
|
|
CODE=$?
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
echo "$OUT" | sed -e 's/^/[child] /'
|
|
|
|
|
|
|
|
|
|
if [[ $CODE -ne 0 ]]; then
|
|
|
|
|
echo "❌ selfhost runner exited with code $CODE" >&2
|
|
|
|
|
exit $CODE
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if ! echo "$OUT" | grep -q "\[selfhost\] harness summary: functions="; then
|
|
|
|
|
echo "❌ expected harness summary line not found" >&2
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "✅ selfhost runner smoke passed"
|
|
|
|
|
|