bytecodealliance / bytecodealliance/wasmtime

ISLE: add functional tests to DSL

Open
#4,136 1 comment 0 reactions 0 assignees View on GitHub
isle
Dominant language
Rust
Stars
18.6k
Forks
1.8k
Avg merge
1d 19h
Merged PRs (30d)
121

Description

While discussing the ISLE compiler and the backend-verification project with @avanhatt and others today, the point arose that we don't actually have functional tests for ISLE in isolation; rather, Cranelift itself is our "testsuite". We do test that the ISLE compiler accepts some "good" inputs, rejects some "bad" inputs, and produces buildable and linkable Rust code for other inputs, but we never run that code with test values.

We should add tests that check various basic aspects of functionality, like rule prioritization, invocation of chains of rules, correct pattern-matching and destructuring, and the like. This will be especially useful if/when we improve the ISLE compiler with more advanced optimizations, like inlining, trie reordering, or the like.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.