Skip to content
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

[Tracking issue] Test infrastructure for Stage 2 #172

Open
2 of 9 tasks
Tracked by #159
aborg-dev opened this issue Jan 2, 2024 · 2 comments
Open
2 of 9 tasks
Tracked by #159

[Tracking issue] Test infrastructure for Stage 2 #172

aborg-dev opened this issue Jan 2, 2024 · 2 comments
Assignees

Comments

@aborg-dev
Copy link

aborg-dev commented Jan 2, 2024

This is a tracking issue for all tasks related to test infrastructure that we want to complete in Stage 2.

For Stage 2 we aim to support the majority of WASM instructions, not limited to basic i32 and i64 operations.

To make sure our implementation is correct, we will expand our test suite to more tests from WASM testsuite.

As the test suite grows, we must invest in faster and more convenient tooling to run the tests.

Given the scope of the work, it might be worth writing a short design document describing how the testing would work end-to-end.

Tasks

  1. MCJOHN974
@MCJOHN974
Copy link

Some updates about this work:

  1. Adding spectests is no still actual due to chosen implementation strategy.
  2. Disabling unnecessary tests. In discussion, no final decision here. Related issue
  3. Migrate to cranelift filetests -- in active work, maybe it make sense to split it into several issues to track the progress, task is relatively big.
  4. Support different types of asserts in tests -- formally not finished, but introducing zkasm helper for assert made a good progress on it, now it is easy to simply add new types of assert here. Also, we don't really need all this asserts asap with migrating to filetests.
  5. Checking test summary.csv in CI -- blocked by filetests migrating
  6. Speed up by caching npm install -- still planned and not prioritized. Is it a good topic for zkasm programming session?

@MCJOHN974
Copy link

Also, here is more actual roadmap of testing infra development:

  • Make decisions on filetest migrating (Done)
  • Implement skeleton of zkasm filetest (Done)
  • Fill skeleton with some mock parts, implement an easy parts and check that it really can parse and run .clif file with test. (Done)
  • Compile .clif run command with proper register allocation (In progress)
  • Adopt generate_preamble and generate_postamble functions if needed (TODO)
  • Process assert helper output and build results.csv from it (TODO)
  • Add filetest infra to CI (TODO)
    ===========================
  • Speed up CI by caching, disabling some tests, etc.
  • Research which enrichments to such test infra we need in nearest future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants