we (web engine): Experimental web browser project to understand the limits of Claude
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

WebAssembly spec test harness and conformance pass #229

open opened by pierrelf.com

Wire up the official WebAssembly spec test suite (https://github.com/WebAssembly/spec/tree/main/test/core) as a continuous test target for we-wasm. Depends on the parser, validator, interpreter, instantiation, and post-MVP issues. The JS API issue is not strictly required (the spec tests use .wast scripts, not the JS surface).

Scope:

  • Vendor the spec test suite under tests/wasm-spec/ as a git submodule (matching the html5lib-tests and Test262 pattern in CLAUDE.md).
  • Build a minimal .wast script interpreter: assert_return, assert_trap, assert_invalid, assert_malformed, assert_exhaustion, register, invoke, get, and module declarations. Use we-wasm directly — no JS engine coupling here.
  • Run all MVP + supported post-MVP tests during cargo test -p we-wasm; report pass/fail counts; flag any regressions in CI.
  • Document the current pass rate in crates/wasm/README.md and update CLAUDE.md's Test Suites table to add a new row.
  • Maintain a known-failures list (allow-listed by test name) so partial pass rates don't block merges; new failures must either be fixed or explicitly added to the list with a tracking issue.

Acceptance criteria:

  • cargo test -p we-wasm executes the spec test suite locally.
  • Pass rate is recorded in the crate README; the README explains how to update it.
  • At least the address.wast, br.wast, call.wast, const.wast, conversions.wast, fac.wast, forward.wast, i32.wast, i64.wast, if.wast, int_literals.wast, loop.wast, memory.wast, names.wast, return.wast, select.wast, switch.wast, traps.wast suites pass cleanly.
  • cargo clippy --workspace -- -D warnings passes; no external dependencies.
sign up or login to add to the discussion
Labels

None yet.

assignee

None yet.

Participants 1
AT URI
at://did:plc:meotu43t6usg4qdwzenk4s2t/sh.tangled.repo.issue/3mm2tnsqq5i2n