Skip to content

Expand wit-bindgen fixtures to 14 and add multi-memory unit tests#23

Merged
avrabe merged 1 commit intomainfrom
feat/expanded-wit-bindgen-fixtures
Mar 10, 2026
Merged

Expand wit-bindgen fixtures to 14 and add multi-memory unit tests#23
avrabe merged 1 commit intomainfrom
feat/expanded-wit-bindgen-fixtures

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented Mar 10, 2026

Summary

  • Add 5 new wit-bindgen test fixtures: results, lists-alias, strings-alias, strings-simple, fixed-length-lists
  • Add 11 targeted unit tests for multi-memory WASI import lowering (merger dedup + wrapper stubs/suffix-stripping)
  • Update CI fixture workflow with smarter copy pattern for varying composed artifact filenames
  • Resources and fixed-length-lists gracefully degrade for known limitations

Context

Expanding fixture coverage based on analysis of wit-bindgen upstream test suite (32 runtime fixtures).
The 5 new fixtures address gaps a knowledgeable reviewer would notice: Result<T,E> ABI lowering,
type alias regression coverage, and Christof Petig's fixed-length-lists spec feature.

14 fixtures total across 3 test levels (core module, component, runtime) = 42 integration tests.
195 tests total, all passing.

Known limitations (graceful degradation)

  • Resources: core module fusion works; P2 wrapping blocked on [resource-new]/[resource-rep] support
  • Fixed-length-lists: experimental component model encoding (0x67) not yet supported by parser

Test plan

  • cargo test — 195 tests pass
  • cargo clippy --all-targets — no warnings
  • cargo fmt -- --check — clean
  • Pre-commit hooks pass

🤖 Generated with Claude Code

…nit tests

Add 5 new wit-bindgen fixtures (results, lists-alias, strings-alias,
strings-simple, fixed-length-lists) with 3 test levels each. Resources
and fixed-length-lists gracefully degrade for known limitations.

Add targeted unit tests for multi-memory WASI import lowering:
- Merger: component-aware dedup, import metadata, cabi_realloc$N exports
- Wrapper: multi-memory stubs, $N suffix stripping in resolve_import

Update CI workflow with smarter fixture copy pattern for varying
composed artifact filenames.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@avrabe avrabe merged commit d961f57 into main Mar 10, 2026
3 checks passed
@avrabe avrabe deleted the feat/expanded-wit-bindgen-fixtures branch March 10, 2026 06:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant