-
Notifications
You must be signed in to change notification settings - Fork 156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conway and other eras roundtrip tests #3726
Conversation
a503388
to
3932c4c
Compare
Still needs a changeklog update and git history cleanup, but other than that is ready for review. |
39e275f
to
940ffa1
Compare
6686cd0
to
7e6f8b7
Compare
libs/cardano-ledger-core/testlib/Test/Cardano/Ledger/Core/Binary/RoundTrip.hs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great to have a systematic way of doing these roundtrip tests.
I don't understand well the part about the Sharing, but maybe one Watercooler we could go briefly over it, if we have time .
Looks good to me
…redential`: * use `keyHash` vs `key hash`/`keyhash` * use `scriptHash` vs `script hash`/`scripthash` Variants with space and without space are still parseable for backwards compatibility
Generating nested data structures like Maps within Maps is prohbitively expensive. In Alonzo we have CostModels present in PParams, which results in too much data being generated for `ProposedPPUpdates`.
* Structure CBOR RoundTrip tests in reusable manner from era to era * Improve roundtrip failure reporting * Arbitrary for DRepDistr
7e6f8b7
to
33ecc2a
Compare
Description
This PR organizes CBOR RoundTrip tests into a nice hierarchy
It captures all of the Conway types and most of the types from other eras, but not all of them. Fixes: #3158
One important one is still missing is CBOR RoundTrip tests for PredicateFailures, but we can take care of it as a separate task.
Besides tests there other notable changes:
ProposalsSnapshot
ToJSON/FromJSON
implementation ofCredential
Checklist
.cabal
andCHANGELOG.md
files according to theversioning process.
.cabal
files for all affected packages are updated. If you change the bounds in a cabal file, that package itself must have a version increase. (See RELEASING.md)CHANGELOG.md
for the affected packages. New section is never added with the code changes. (See RELEASING.md)fourmolu
(usescripts/fourmolize.sh
)scripts/cabal-format.sh
)hie.yaml
has been updated (usescripts/gen-hie.sh
)