This PR uses TemplateHaskell to ensure that, if a new query is added to the cardano-cli, the tests in cardano-testnet won't compile until a section for a test for that query is added. As part of this, this PR also adds tests for all the queries that didn't have tests. These are basic tests in all cases, but should be good enough to ensure there are not serialization/deserialization issues.
Checklist
[x] Commit sequence broadly makes sense and commits have useful messages
[x] New tests are added if needed and existing tests are updated. These may include:
[x] Any changes are noted in the CHANGELOG.md for affected package
[x] The version bounds in .cabal files are updated
[x] CI passes. See note on CI. The following CI checks are required:
[x] Code is linted with hlint. See .github/workflows/check-hlint.yml to get the hlint version
[x] Code is formatted with stylish-haskell. See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
[x] Code builds on Linux, MacOS and Windows for ghc-8.10.7 and ghc-9.2.7
[x] Self-reviewed the diff
Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges. Please contact IOG node developers to do this
for you.
Description
This PR uses
TemplateHaskell
to ensure that, if a new query is added to thecardano-cli
, the tests incardano-testnet
won't compile until a section for a test for that query is added. As part of this, this PR also adds tests for all the queries that didn't have tests. These are basic tests in all cases, but should be good enough to ensure there are not serialization/deserialization issues.Checklist
CHANGELOG.md
for affected package.cabal
files are updatedhlint
. See.github/workflows/check-hlint.yml
to get thehlint
versionstylish-haskell
. See.github/workflows/stylish-haskell.yml
to get thestylish-haskell
versionghc-8.10.7
andghc-9.2.7
Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons. You will need to get someone with write privileges. Please contact IOG node developers to do this for you.