Files
hakorune/tools/tlv_roundtrip_smoke.sh
nyash-codex 981ddd890c Phase 22.1 WIP: SSOT resolver + TLV infrastructure + Hako MIR builder setup
Setup infrastructure for Phase 22.1 (TLV C shim & Resolver SSOT):

Core changes:
- Add nyash_tlv, nyash_c_core, nyash_kernel_min_c crates (opt-in)
- Implement SSOT resolver bridge (src/using/ssot_bridge.rs)
- Add HAKO_USING_SSOT=1 / HAKO_USING_SSOT_HAKO=1 env support
- Add HAKO_TLV_SHIM=1 infrastructure (requires --features tlv-shim)

MIR builder improvements:
- Fix using/alias consistency in Hako MIR builder
- Add hako.mir.builder.internal.{prog_scan,pattern_util} to nyash.toml
- Normalize LLVM extern calls: nyash.console.* → nyash_console_*

Smoke tests:
- Add phase2211 tests (using_ssot_hako_parity_canary_vm.sh)
- Add phase2220, phase2230, phase2231 test structure
- Add phase2100 S3 backend selector tests
- Improve test_runner.sh with quiet/timeout controls

Documentation:
- Add docs/ENV_VARS.md (Phase 22.1 env vars reference)
- Add docs/development/runtime/C_CORE_ABI.md
- Update de-rust-roadmap.md with Phase 22.x details

Tools:
- Add tools/hakorune_emit_mir.sh (Hako-first MIR emission wrapper)
- Add tools/tlv_roundtrip_smoke.sh placeholder
- Improve ny_mir_builder.sh with better backend selection

Known issues (to be fixed):
- Parser infinite loop in static method parameter parsing
- Stage-B output contamination with "RC: 0" (needs NYASH_JSON_ONLY=1)
- phase2211/using_ssot_hako_parity_canary_vm.sh fork bomb (needs recursion guard)

Next steps: Fix parser infinite loop + Stage-B quiet mode for green tests
2025-11-09 15:11:18 +09:00

24 lines
755 B
Bash
Raw Permalink 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.

#!/usr/bin/env bash
#!/usr/bin/env bash
# TLV roundtrip smoke (Phase 22.1)
# Always runs a focused test against the nyash-tlv crate only.
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
echo "[info] Building nyash-tlv (c-shim) ..." >&2
(
cd "$ROOT" && cargo build -p nyash-tlv --features c-shim --release >/dev/null
)
python3 - "$ROOT" << 'PY'
import sys, importlib.util, pathlib, subprocess, json
root = pathlib.Path(sys.argv[1])
print("[info] TLV roundtrip (identity)")
# Since nyash-tlv is a lib crate, we exec `cargo test -p nyash-tlv` as a quick proof.
rc = subprocess.call(["cargo","test","-p","nyash-tlv","--release","--","identity_roundtrip"], cwd=root)
sys.exit(0 if rc == 0 else 1)
PY
echo "[PASS] tlv_roundtrip_smoke"
exit 0