Skip to content

tests: add kitchen sink test - #431

Merged
apoelstra merged 2 commits into
BlockstreamResearch:masterfrom
stringhandler:st-kitchen-sink
Oct 6, 2026
Merged

apoelstra merged 2 commits into
BlockstreamResearch:masterfrom
stringhandler:st-kitchen-sink

Conversation

@stringhandler

Copy link
Copy Markdown
Collaborator

Adds an example that uses all of the current language features so that we can detect changes to the generated code. We already have fuzzing to try and detect errors, but the aim here is to detect unintentional changes to CMRs.

It's not fool proof, but I've also added a PR template to try remind developers to add new features to the kitchen sink.

Add one program that uses every language feature, built-in and unstable
feature, with a regression test that compares its full encoding against
test-data/kitchen_sink.json. Any compiler change that alters generated
code, and so the CMR, fails this test. A separate run test executes the
program so its assertions are checked too.

The regression harness now loads examples/<name>.args when present, so
the example can cover parameters.

Assisted-by: Claude
Remind authors of language feature changes to extend the kitchen_sink
example, so the CMR regression test keeps covering every feature.

Assisted-by: Claude
@stringhandler
stringhandler requested a review from delta1 as a code owner October 5, 2026 11:11

@apoelstra apoelstra left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

ACK 47aa040; successfully ran local tests

@apoelstra
apoelstra merged commit e2941b7 into BlockstreamResearch:master Oct 6, 2026
12 checks passed
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