-
Notifications
You must be signed in to change notification settings - Fork 20.3k
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
core/state: better randomized testing (postcheck) on journalling #29627
Conversation
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.
sgtm
13463cb
to
2dd48f8
Compare
PTAL again, I've now added verification of the poststate journal dirties, the |
794b0e3
to
dd9b277
Compare
Tests are failing |
Yes, that shows that it's working :) |
I can confirm that when running this on top of #29641, the tests do not fail |
9b3104d
to
37b712e
Compare
…ereum#29627) This PR fixes some flaws with the existing tests. The randomized testing (TestSnapshotRandom) executes a series of steps which modify the state and create journal-events. Later on, we compare the forward-going-states against the backwards-unrolling-journal-states, and check that they are identical. The "identical" check is performed using various accessors. It turned out that we failed to check some things: - the accesslist contents - the transient storage contents - the 'newContract' flag - the dirty storage map This change adds these new checks
…ereum#29627) This PR fixes some flaws with the existing tests. The randomized testing (TestSnapshotRandom) executes a series of steps which modify the state and create journal-events. Later on, we compare the forward-going-states against the backwards-unrolling-journal-states, and check that they are identical. The "identical" check is performed using various accessors. It turned out that we failed to check some things: - the accesslist contents - the transient storage contents - the 'newContract' flag - the dirty storage map This change adds these new checks
This PR fixes some flaws with the existing tests, which I discovered while working on a different journalling system.
The randomized testing (
TestSnapshotRandom
) executes a series of steps which modify the state and create journal-events.Later on, we compare the forward-going-states against the backwards-unrolling-journal-states, and check that they are identical.
The "identical" check is performed using various accessors. It turned out that we failed to check some things: the accesslist contents and the transient storage contents.
After we remove the account reset operation in #29520, we should also add accessors/checks for
newContract