Repository navigation
test(generator): reuse immutable graph input bytes - #247
Draft
leoafarias wants to merge 1 commit into
Draft
leoafarias wants to merge 1 commit into
leoafarias wants to merge 1 commit into
Conversation
This branch has not been deployed
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.
The two generator graph suites repeatedly enumerate and read every visible dependency asset. Cache immutable dependency bytes once per test isolate and copy them into a fresh reader/writer for each case. Fixtures, generated output, resolvers and tracking keep their existing per-build lifecycle. The snapshot retains about 60 MB per participating isolate and assumes package files stay unchanged during that isolate; fresh invocations reload them.
All 112 original graph cases, including 93 strict rejection cases, keep their fixtures and diagnostic/output assertions. Five added cases check byte parity, buffer/fixture/output/tracking isolation, concurrent readers and valid/missing-JSON-part ordering. Both generation phases and the real clean/rebuild/cycle/JSON/compilation/runtime/second-build contracts remain intact.
Validation:
Blocked: Minimum Dart SDK and main CI fail compiling
json_serializable 6.14.1withsource_helper 1.4.0(duplicate extensions/imports). A Dart 3.9 control reproduces this exact failure on original base sources: 648 files verified, both new cache files absent. Main CI's 12 failing real-build cases are unchanged; all 112 graph and five new cases pass there. Upstream's 6.15.1 ambiguity fix requires Dart 3.12. A separate compatibility correction is needed; no dependency/release change or gate bypass is included.Base:
07df51338f8fcdf0c06c0c9d0e16e81ddf65f494. Head:c573ac4ebe77a3b9c7fee845b934d9f6f27f0b59. Exact commands, logs, review, measurements and risks are retained in rolloutack-results/RESULTS.md. The draft remains blocked until required gates pass.