lambdaclass / cairo-vm

cairo-vm is a Rust implementation of the Cairo VM. Cairo (CPU Algebraic Intermediate Representation) is a programming language for writing provable programs, where one party can prove to another that a certain computation was executed correctly without the need for this party to re-execute the same program.
https://lambdaclass.github.io/cairo-vm
Apache License 2.0
508 stars 142 forks source link

Feature: make test_utils macros public #1599

Closed odesenfans closed 5 months ago

odesenfans commented 7 months ago

This PR makes all macros in the test_utils module public to allow for easier testing of hints (and other features) living in other crates/repositories.

Fixes #1595.

Checklist

odesenfans commented 6 months ago

This PR should be mergeable. Most of the macros need to be public as they are used in public macros. I addressed all the comments that could be.

fmoletta commented 5 months ago

Hello! Making these macros public in the current state involves making a lot of fields internal to the VM public which is not desirable at all. I think we should address this task in a different way. What these macros currently do can be implemented using the vm's public api, so we should re-implement or implement new macros that use the public api instead.

odesenfans commented 5 months ago

Ok @fmoletta then let's close this PR, no worries.