Repository navigation
test(zero-rust): replay the restored zql vectors - #191
Merged
Merged
Conversation
The Rust conformance runner replays `vectors/restored-ivm.json` and `generated/restored-chinook-decpush.json`, as Swift's `RestoredIVMTests` does: JS's AST and format over the case's own sources (or the chinook fuzzer's mini data), with its builder settings, comparing the view and its changes after hydration and each push. Pull requests replay the one-row chinook lane; Rust Nightly adds the two-row lane. A test fails a doctored copy of each file in exactly the cases it cut. Amp-Thread-ID: https://ampcode.com/threads/T-054867f5-7416-49fc-ba71-3883f430a9fb Co-authored-by: tmm <tmm@tmm.dev>
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.
Replaces #189, which closed when #188 merged and deleted its base branch. The Rust conformance runner now replays both sets of restored zql vectors, the same way Swift's
RestoredIVMTestsdoes.vectors/restored-ivm.json: 112 cases. Each has its own schema, data, and builder settings (enableNotExists,disableCorrelatedPredicatePushdown).generated/restored-chinook-decpush.json: the chinook fuzzer's decorated push lane over its mini data. Pull requests replay the one-row lane through the existing--require-generatedconformance step. Rust Nightly setsRESTORED_CHINOOK_PUSH_ROWS=1,2, as Swift Nightly does, and adds arestored-chinookcomparison.Each case builds the pipeline from JS's AST and compares the view and the changes it received after hydration and after each push. That replay is now shared with the existing
ivmsuite.doctored_restored_vectors_failwrites a copy of each file and cuts three cases: a row from one case's initial view, a change from another's changes after a push, and a row from a third's view after a push. It then checks that exactly those three cases fail, each with the matching message, and that the rest pass. With the view-after-push comparison removed from the runner, the test fails (2 failed instead of 3).Rust matches JS on every case: 112 of 112 restored cases, 2,474 of 2,474 in the one-row lane, and 4,948 of 4,948 with both lanes. No
zero-clientchange was needed, so there's no changeset.