2025-09-27 08:45:25 +09:00
|
|
|
|
# Nyash Smoke Tests v2 — Guide
|
2025-09-18 13:35:38 +09:00
|
|
|
|
|
2025-09-27 08:45:25 +09:00
|
|
|
|
Overview
|
|
|
|
|
|
- Entry: `tools/smokes/v2/run.sh` — unified runner for quick/integration/full.
|
|
|
|
|
|
- Profiles:
|
|
|
|
|
|
- `quick` — fast developer checks.
|
|
|
|
|
|
- `integration` — VM↔LLVM parity, basic stability.
|
|
|
|
|
|
- `full` — comprehensive matrix.
|
2025-09-18 13:35:38 +09:00
|
|
|
|
|
2025-09-27 08:45:25 +09:00
|
|
|
|
Dev Mode (defaults)
|
|
|
|
|
|
- In v2 smokes, the `quick` profile exports `NYASH_DEV=1` by default.
|
|
|
|
|
|
- This enables CLI `--dev`-equivalent defaults inside Nyash:
|
|
|
|
|
|
- AST using ON (SSOT + AST prelude merge)
|
|
|
|
|
|
- Operator Boxes in observe mode (no adoption)
|
|
|
|
|
|
- Minimal diagnostics; output parity is preserved
|
|
|
|
|
|
- You can also run manually with `nyash --dev script.nyash`.
|
2025-09-18 13:35:38 +09:00
|
|
|
|
|
2025-09-27 08:45:25 +09:00
|
|
|
|
Common commands
|
|
|
|
|
|
- Quick suite (auto `NYASH_DEV=1`):
|
|
|
|
|
|
- `tools/smokes/v2/run.sh --profile quick`
|
|
|
|
|
|
- Focus JSON smokes:
|
|
|
|
|
|
- `tools/opbox-json.sh` (Roundtrip/Nested, plugins disabled, generous timeout)
|
|
|
|
|
|
- One-off program (VM):
|
|
|
|
|
|
- `target/release/nyash --backend vm --dev apps/APP/main.nyash`
|
|
|
|
|
|
|
|
|
|
|
|
Key env knobs
|
|
|
|
|
|
- `NYASH_DEV=1` — enable dev defaults (same effect as `--dev`).
|
|
|
|
|
|
- `SMOKES_DEFAULT_TIMEOUT` — per test timeout seconds (default 15 for quick).
|
|
|
|
|
|
- `SMOKES_PLUGIN_MODE=dynamic|static` — plugin mode for preflight (auto by default).
|
|
|
|
|
|
- `SMOKES_FORCE_CONFIG=rust_vm_dynamic|llvm_static` — force backend config.
|
|
|
|
|
|
- `SMOKES_NOTIFY_TAIL` — lines to show on failure tail (default 80).
|
2025-09-18 13:35:38 +09:00
|
|
|
|
|
|
|
|
|
|
Notes
|
2025-09-27 08:45:25 +09:00
|
|
|
|
- Dev defaults are designed to be non-intrusive: tests remain behavior‑compatible.
|
|
|
|
|
|
- To repro outside smokes, either pass `--dev` or export `NYASH_DEV=1`.
|
2025-09-18 13:35:38 +09:00
|
|
|
|
|