refactor(test-client-clis): Refactor TransitionTool#1902
refactor(test-client-clis): Refactor TransitionTool#1902marioevz wants to merge 5 commits intoethereum:forks/amsterdamfrom
Conversation
…um#1842) Co-authored-by: spencer <spencer.tb@ethereum.org>
|
Small refactoring PR between perf reviews to help me relax :P |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## forks/osaka #1902 +/- ##
============================================
Coverage 83.87% 83.87%
============================================
Files 402 402
Lines 25101 25101
Branches 2285 2285
============================================
Hits 21053 21053
Misses 3609 3609
Partials 439 439
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
gurukamath
left a comment
There was a problem hiding this comment.
One additional enhancement that could be worth making is in the documentation of the other clients (erigon, ethrex and reth) of why they do not have a TransitionTool.
Also why Nethermind uses a different tool.
Just for someone looking to understand that context.
| self.besu_trace_dir.cleanup() | ||
|
|
||
| def evaluate( | ||
| def _evaluate( |
There was a problem hiding this comment.
The BesuTransitionTool is the only subclass of TransitionToolServer and it completely overrides the _evaluate method. So perhaps keeping the base class _evaluate method in abstract makes sense? Or do we have a general purpose use for it in mind for the future?
|
|
||
| - a `blockchain_test` which can be tested via the Hive `eest/consume-rlp` simulator (or directly via a dedicated client interface). | ||
| - a `blockchain_engine_test` (for post-merge forks) which can be tested via the Hive `eest/consume-engine` simulator. | ||
| - a `blockchain_test` which can be tested via the Hive `eels/consume-rlp` simulator (or directly via a dedicated client interface). |
There was a problem hiding this comment.
Do we want to use eels of should we just start using execution-specs going forward?
|
Too outdated, and since it does not introduce new functionality will close for now. |
🗒️ Description
Refactors
TransitionToolclass into:TransitionToolServer: Make requests via http to long-running process that is a server.TransitionToolStream: Make request to a one-shot process that receives inputs via stdinTransitionToolFileSystem: Make a request to a one-shot process that receives inputs via files in the file systemAlso makes a small refactor in
LazyAllocto create an abstract method that can be called to write the raw data into a file.🔗 Related Issues or PRs
N/A.
✅ Checklist
toxchecks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:uvx tox -e statictype(scope):.mkdocs servelocally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.@ported_frommarker.Cute Animal Picture