Files
hakorune/docs/how-to/smokes.md

38 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Smokes — HowTo前提→手順→検証
目的
- 代表スモークを素早く回して、回帰を検知する。
前提
- リリースビルド済み: `cargo build --release`
- LLVM を用いた AOT/ハーネス系は integration プロファイルで必要に応じて利用
手順v2 ランナー推奨)
1) クイック確認VM/動的プラグイン)
- 実行: `tools/smokes/v2/run.sh --profile quick`
- 代表的な言語機能・using の確認。冗長ログはフィルタ済み
2) プラグイン検証VM/動的)
- 実行: `tools/smokes/v2/run.sh --profile plugins`
- フィクスチャ .so は自動ビルド・配置を試行(無ければ SKIP
3) 統合確認LLVM/LlvmLite ハーネス含む)
- 実行: `tools/smokes/v2/run.sh --profile integration`
- 必要に応じて PHI-on/off の比較や AOT 代表ケースを実行
手動スモーク(例)
- Core (LLVM): `examples/llvm11_core_smoke.hako`
- Async (LLVM only):
- `apps/tests/async-await-min/main.hako`
- `apps/tests/async-spawn-instance/main.hako`
- `apps/tests/async-await-timeout-fixed/main.hako``NYASH_AWAIT_MAX_MS=100`
アーカイブ(非推奨)
- 旧ランナーJIT/Cranelift 時代)は削除または archive に移動済み。v2 ランナーのみを使用
便利フラグ
- `NYASH_LLVM_USE_HARNESS=1`: integration プロファイルで llvmlite ハーネスを使う
- `NYASH_MIR_NO_PHI=1`, `NYASH_VERIFY_ALLOW_NO_PHI=1`: レガシー PHI-offedge-copyモード
- `NYASH_USING_DYLIB_AUTOLOAD=1`: using kind="dylib" の自動ロードを有効化dev 向け・既定OFF
検証
- 0 で成功、非 0 で失敗CI 連携可)