Skip to content

No ppx expect#1445

Open
jonludlam wants to merge 5 commits into
ocaml:masterfrom
jonludlam:no-ppx-expect
Open

No ppx expect#1445
jonludlam wants to merge 5 commits into
ocaml:masterfrom
jonludlam:no-ppx-expect

Conversation

@jonludlam
Copy link
Copy Markdown
Member

Remove ppx_expect, but keep the tests!

jonludlam added 5 commits June 5, 2026 18:21
A small library used by parser and semantics expect-style tests:
- Expect_test_helper.print frames input/output for snapshot comparison
- Expect_test_helper.run dispatches argv[1] to a named test group, or
  emits the matching set of dune (diff) rules when invoked with
  --gen-rules so the boilerplate per test case stays in sync with the
  OCaml-side groups list.
Adds with_group/dump_block to the test helpers so that, when
EXPECTED_DUMP_DIR is set, each let%expect_test block writes the
input and expected output to a file.

The existing ppx_expect assertions still run unchanged and are the
source of truth for this commit; the .expected files committed here are
a verifiable snapshot of what they assert.
Drop the ppx_expect dependency. The parser and semantics tests now
print via Expect_test_helper.print and are dispatched as named groups via
Expect_test_helper.run, with the matching set of dune (diff) rules
emitted on demand into a checked-in dune.inc.

Test cases are still inside modules, which looks a little odd but
the means the diff doesn't change the structure.
Brief operator's guide to the snapshot-testing layout: where each
file lives, how to add or remove a case or group.
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.

1 participant