0xMiden / 0xMiden/miden-vm

Unit tests for private MASM procedures

Ouverte
#1,618 3 commentaires 1 réaction 1 personne assignée Assignée à @bitwalker Voir sur GitHub
assembly debugging
Langage dominant
Rust
Étoiles
772
Forks
352
Merge moyen
1 j 12 h
PR mergées (30 j)
93

Description

### 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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.