Skip to content

Make Conway CERTS test era-generic#5842

Draft
neilmayhew wants to merge 7 commits into
masterfrom
nm/failing-tx-subset
Draft

Make Conway CERTS test era-generic#5842
neilmayhew wants to merge 7 commits into
masterfrom
nm/failing-tx-subset

Conversation

@neilmayhew
Copy link
Copy Markdown
Contributor

Description

The Conway CERTS test produces additional predicate failures in Dijkstra, so previously it was necessary to duplicate the code in a separate test for Dijkstra. By introducing a new test helper, submitFailingTxSubset, it's possible for the Conway test to check that the given predicate failures are a subset of those actually produced, ie that all of the given failures are present. This enables the test to run in all post-Conway eras.

Checklist

  • Commits in meaningful sequence and with useful messages.
  • Tests added or updated when needed.
  • CHANGELOG.md files updated for packages with externally visible changes.
    NOTE: New section is never added with the code changes. (See RELEASING.md).
  • Versions updated in .cabal and CHANGELOG.md files when necessary, according to the
    versioning process.
  • Version bounds in .cabal files updated when necessary.
    NOTE: If bounds change in a cabal file, that package itself must have a version increase. (See RELEASING.md).
  • Code formatted (use scripts/fourmolize.sh).
  • Cabal files formatted (use scripts/cabal-format.sh).
  • CDDL files are up to date (use scripts/gen-cddl.sh)
  • hie.yaml updated (use scripts/gen-hie.sh).
  • Self-reviewed the diff.

@neilmayhew
Copy link
Copy Markdown
Contributor Author

The Dijkstra CERTS test still needs to be removed, or at least cut down

@neilmayhew
Copy link
Copy Markdown
Contributor Author

Changelog and version updates are still needed

@neilmayhew neilmayhew force-pushed the nm/failing-tx-subset branch from 4bdc004 to 50e19d8 Compare May 16, 2026 18:00

instance Ord (VKey kd) where
-- VerKeyDSIGN specifically disallows direct Ord
compare = comparing (DSIGN.rawSerialiseVerKeyDSIGN . unVKey)
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the simplest solution I could come up with. Hashing is mentioned in the custom type error message, but this goes via rawSerialiseVerKeyDSIGN anyway.

Comment thread libs/cardano-ledger-core/src/Cardano/Ledger/MemoBytes/Internal.hs
Copy link
Copy Markdown
Collaborator

@lehins lehins left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to ask you to add submitFailingTxSubset in a separate PR from Ord additions, if you could please.
I know this is a draft PR and you might have already planned on this, but I just wanted to make sure.

Also just a thought: maybe we should name it submitFailingSubsetTx instead? This way the "Subset" would be more relevant to "Failing" instead of "Tx`, which is what the intention of this function is.

@neilmayhew
Copy link
Copy Markdown
Contributor Author

I would like to ask you to add submitFailingTxSubset in a separate PR from Ord additions, if you could please.

Done, as #5850, although still a draft as it requires a new release of cardano-base. (See IntersectMBO/cardano-base#658.)

@lehins
Copy link
Copy Markdown
Collaborator

lehins commented May 20, 2026

although still a draft as it requires a new release of cardano-base

Yep, new release is coming soon. Probably tomorrow, since there are a few other things we want to release from there

@neilmayhew neilmayhew force-pushed the nm/failing-tx-subset branch from 50e19d8 to 0d42a1f Compare May 20, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants