Repository navigation
ci(crdt): run the late-stamp convergence test now that the server redelivers late stamps - #38
Merged
Merged
Conversation
…elivers late stamps
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.
This turns the late-stamp convergence test back on. It was skipped because the server never redelivered a change pushed with an older stamp than a device had already synced past. #37 fixed that and it's on main now, so the skip has nothing left to excuse.
The test is "a change pushed late with an older stamp reaches a device that synced past it" in
crdt-dart/test/conformance/convergence_test.dart. Device B syncs a later stamp, device A then pushes an earlier one, and both should end at 10. The suite-level skip for machines without Go stays, so a laptop with no toolchain still gets a clean run.You can run it from
crdt-dartwithGOWORK=off GOPROXY=off dart test test/conformance/. It builds the conformance server from this checkout, so you need Go and a warm module cache. All 37 conformance tests pass and none are skipped.The workflow is stricter too. The
LATE_STAMP_SKIPexemption and the "allowed" branch of the jq check are gone, so any skipped conformance test now fails the "Conformance tests ran" step. We ran the check over a fresh JSON run (exits 0), then over the same run with one test flipped to skipped (exits 1).MIN_CONFORMANCE_SUITESis untouched.One small extra:
doc/go-parity.mdstill described the limitation and pointed at the skipped case, so that bullet now says the server redelivers late stamps.