T8n call cache specs#56
Merged
danceratopz merged 5 commits intodanceratopz:t8n-call-cache-specsfrom Jan 29, 2026
Merged
Conversation
danceratopz
reviewed
Jan 29, 2026
Owner
danceratopz
left a comment
There was a problem hiding this comment.
Thanks @marioevz! I had the cache in the t8n tool instead of the spec first, too!!! I thought that having it in the spec would allow better cache garbage collection as we'd have higher-level knowledge of the test format being generated, but in the end landed up not using it. This approach is better and will extending it to other formats trivial. Let's do it!
There's a few issues here, some of which were present in:
So yes, I agree this approach is better, but this version suffers from sporadic cache misses.
I'll fix them up in the original PR and then you can review there!
danceratopz
approved these changes
Jan 29, 2026
337b793
into
danceratopz:t8n-call-cache-specs
9 of 15 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🗒️ Description
Moves the cache to be managed by the T8N itself with help from the filler instead of managed by the test spec.
Steps:
transition_tool_cache_key.BlockchainFixtureandBlockchainEngineFixture.All t8n related fields have also been removed from the test spec instance and have been moved to the t8n instance for the filler to reset/setup.
The output cache of the TransitionTool object is also now unbounded, which allows for tests with arbitrary number of blocks to be cached, but it's completely cleared by the filler if the test following immediately afterwards does not match the cache key.