No E2E Integration Between Pessimism Tests & EVM Execution Nodes
Closed this issue · 1 comments
epociask commented
Problem
There currently exists no end-to-end integration tests that validate Pessimism's correctness. Currently, the only way to validate the e2e (ie. block --> invariantInput-->activation-->alert
) flow is via manual tests on a local instance of the application. This is problematic as:
I. Code changes that can impact correctness aren't programmatically assessed when being considered for merge
II. Performing manual validations is exhaustive and disparate from the tests in the actual repo
Problem Solution
- [1] (#74) Re-architect the existing main caller abstractions into an
Application
struct that has accessor methods for starting, stopping, and calling application level methods. TheApplication
should hold all three subsystems the http server. - [2] (#85) Develop a way to register downstream alert invocations. A huge part of testing will require validating that an alert actually fires given an expected sequence of blocks and transactions.
- [3] (#85) Develop a testing framework that assess that correctness of the
balance_enforcement
andcontract_event
invariants. The existing Optimism monorepo already has a op-geth node representation that can be leveraged for these tests.