-
Notifications
You must be signed in to change notification settings - Fork 259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: generate compilation tests from frontend tests #7753
base: master
Are you sure you want to change the base?
chore: generate compilation tests from frontend tests #7753
Conversation
…end-to-compilation-tests
…nction names to tests by adding '#[named]' and '!' to each test, pass macro name/path through test utils, wip crate generation with hashing to check for updates
…est generation or update in CI, generate bin crate
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20
.
Benchmark suite | Current: 0f1faeb | Previous: 6f0b119 | Ratio |
---|---|---|---|
zkemail_noir-jwt_ |
5 s |
3 s |
1.67 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
…ure to tests, use 'create_dir_all'
…_numeric_generic_nested_call into its two cases
…h test, passing locally
…p w/ the stdlib, add TODO w/ issue for formatting error of unknown cause
…e_clause_has_equivalent_errors
How many of the errors caught by this PR would also be caught by adding monomorphizing to the |
Discussed in standup: we're going to keep the current approach since it has things we need now like more testing for the formatter and future support for the fuzzer. We may revisit it in the future but for now we'll keep the CI check as well to ensure the generated tests are up to date. Edit: compared to the test_programs only approach, this lets us keep writing unit tests for now which can be easier to debug due to having no stdlib. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20
.
Benchmark suite | Current: 0f1faeb | Previous: 6f0b119 | Ratio |
---|---|---|---|
rollup-block-root |
148 s |
120 s |
1.23 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
Description
Problem*
Frontend tests are run in an environment that could become out of sync with
nargo compile
.Summary*
During
get_program_with_options
and similar, we can:by hashing the sourcefrom the test namemain.nr
Nargo.toml
Note: when the cached version is out of date in CI, there's an error like the following:
Additional Context
Questions:
get_program
, but is there a better way to get this path than using theCARGO_MANIFEST_DIR
? I considered trying to generate usingbuild.rs
, but I'm not sure how to do that without a two-step process of a) generating ephemeral output files when running thenoirc_frontend
tests, b) converting the ephemeral files totest_programs
crates withbuild.rs
.nargo_cli/src/cli/init_cmd
: is there a sane way to import this without cyclic dependencies or a bunch of refactoring?Documentation*
Check one:
PR Checklist*
cargo fmt
on default settings.