0xMiden / 0xMiden/miden-vm

Unit tests for private MASM procedures

Aperta
#1,618 3 commenti 1 reazione 1 assegnatario Assegnata a @bitwalker Vedi su GitHub
assembly debugging
Lingua principale
Rust
Stelle
772
Fork
352
Merge medio
1g 12h
PR unite (30g)
93

Descrizione

### Feature description

In miden-base, we would like to be able to write unit tests for private (non-`export`ed) MASM procedures.

Ideally we could write these unit tests as Rust tests (mostly for integration in the Rust test setup and because we can setup the environment a bit better in case tests fail and a developer needs to debug), but this requires the MASM procedures to be exported. For now, we might just export them, but longer term it would be nice to have a better way to do this.

In talking with @bobbinth, one idea was to use procedure annotations (#1434) to conditionally assemble procedures to be either `proc` in normal usage or `export` if we want to build a `MastForest` library to test these procedures through.

A similar idea is to write unit tests directly in MASM behind a `#[cfg(test)]` like flag through which we could assemble a MASM test program. This would keep the procedure definitions itself cleaner (without `cfg` annotations on each).

### Why is this feature needed?

Ensure correctness of MASM procedures.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.