WASM E2E test: Speckl specs compile to runnable WebAssembly
Some checks failed
Deploy Landing Page to Storj / deploy (push) Failing after 3s

- Add __tests__/e2e-wasm.test.ts: full pipeline test
  - Parse Counter speck → generate WAT → assemble with wabt → instantiate → run
  - Verify init, action calls, guard pass/fail, state mutations
  - TigerBeetle WAT validation test (wabt parse + validate + toBinary)
- Fix wasm.ts bugs found by E2E:
  - Guard condition inverted: added i32.eqz to negate comparison
  - Missing local declarations: locals now inserted before body
  - Uncompiled guards left stack values: now emit comments only (no i32.const 1)
- Install wabt npm package for WAT→WASM assembly in tests
- 41/41 tests passing (39 original + 2 E2E)

Milestone: Speckl produces runnable WebAssembly from specs.
This commit is contained in:
Scott Scoble 2026-05-03 13:13:55 -07:00
parent 7ffd65f6b3
commit 39436b4382
4 changed files with 236 additions and 11 deletions

View file

@ -23,6 +23,7 @@
"@types/yargs": "^17.0.33",
"typescript": "^5.7.2",
"vite": "^6.0.3",
"vitest": "^2.1.8"
"vitest": "^2.1.8",
"wabt": "^1.0.39"
}
}