Files
hakorune/tools/async_smokes.sh
Moe Charm de99b40bee Phase 12 TypeBox統合ABI設計完了: C ABI + Nyash ABI革命的統合
主な成果:
- TypeBox(型情報をBoxとして扱う)による統合ABI設計
- C ABI + Nyash ABIの完全統合仕様書作成
- 3大AI専門家(Gemini/Codex/ChatGPT5)による検証済み
- ChatGPT5の10個の安全性改善提案を反映
- README.mdのドキュメント更新(全起点から到達可能)

MapBox拡張:
- string型キーサポート(従来のi64に加えて)
- remove/clear/getOr/keysStr/valuesStr/toJson実装
- keys()/values()のランタイムシムサポート(TypeBox待ち)

その他の改善:
- Phase 11.9(文法統一化)ドキュメント追加
- Phase 16(FoldLang)ドキュメント追加
- 非同期タイムアウトテスト追加
- 各種ビルド警告(未使用import等)は次のリファクタリングで対応予定

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 09:26:09 +09:00

37 lines
1.2 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR=$(cd "$(dirname "$0")/.." && pwd)
BIN="$ROOT_DIR/target/release/nyash"
APPS=(
"$ROOT_DIR/apps/tests/async-await-min/main.nyash"
"$ROOT_DIR/apps/tests/async-spawn-instance/main.nyash"
"$ROOT_DIR/apps/tests/async-await-timeout-fixed/main.nyash"
)
echo "[async-smokes] Building nyash (cranelift-jit)"
cargo build --release --features cranelift-jit >/dev/null
run_vm() {
local app="$1"
echo "[vm] $(basename $(dirname "$app"))/$(basename "$app")"
local envs="NYASH_AWAIT_MAX_MS=5000"
if [[ "$app" != *"async-await-timeout-fixed"* ]]; then envs="NYASH_PLUGIN_ONLY=1 ${envs}"; fi
timeout 10s env ${envs} "$BIN" --backend vm "$app" | sed -n 's/^Result[: ]\{0,1\}//p' | tail -n 1 || true
}
run_jit() {
local app="$1"
echo "[jit] $(basename $(dirname "$app"))/$(basename "$app")"
local envs="NYASH_AWAIT_MAX_MS=5000"
if [[ "$app" != *"async-await-timeout-fixed"* ]]; then envs="NYASH_PLUGIN_ONLY=1 ${envs}"; fi
timeout 10s env ${envs} "$BIN" --backend cranelift "$app" | sed -n 's/^📊 Result: //p; s/^Result[: ]\{0,1\}//p' | tail -n 1 || true
}
for app in "${APPS[@]}"; do
run_vm "$app"
run_jit "$app"
done
echo "[async-smokes] Done"