scan(test): Implement scanner format round-trip tests #8071
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.
Motivation
We skipped these tests in tickets #8019 and #8050. Now the format has settled it's a good time to do them.
PR Author Checklist
Check before marking the PR as ready for review:
If a checkbox isn't relevant to the PR, mark it as done.
Test APIs
Proptests generate random typed data, then run it through a test closure or function. In this case, our
assert_value_properties()
makes sure that the round-trip format is correct.We can't use
clamp()
with proptests because it sets the value to the end of the range, but we want it distributed over the range.Solution / Testing
Arbitrary
implementations for all the scanner formatsRelated changes:
Default
in test-only code to make testing easierRelated fixes:
(The fix for ticket #7443 in PR #7628 was incomplete.)
Review
This is a lower priority routine testing change.
Reviewer Checklist
Check before approving the PR:
PR blockers can be dealt with in new tickets or PRs.
And check the PR Author checklist is complete.