diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-26 12:55:23 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-26 12:55:23 +0200 |
| commit | f893a2019e7ad57a57154926c8e0e01aa99aa473 (patch) | |
| tree | fc3b61fab66c1640c31b1c8e67d78d60e3993eab /test/test_lectionary.ml | |
| parent | e6cb5937be7f009eab11f3cf85205d1fde25eb48 (diff) | |
| download | colitur-f893a2019e7ad57a57154926c8e0e01aa99aa473.tar.gz colitur-f893a2019e7ad57a57154926c8e0e01aa99aa473.zip | |
fix(install): ship the OF runtime data files, guard the installed layout
data/dune's install stanza named only the four EF runtime files, so a
`dune install`ed colitur exited 2 on any --rite of invocation
(`failed to load .../data/of/calendar-2002.sexp`) -- the branch's
headline feature was dead on an installed binary. Add all 15 OF
files (calendar-2002.sexp, the 13 amendments/*.sexp, lectionary.sexp)
to the (files ...) stanza, following the existing ef/ entries' form
and the stanza's own stated rule (deliberately not the litcal
allow-list, a test fixture, same reasoning already given for the EF
pair).
Add a regression guard for the class of bug, not just this instance:
`make check-install` performs a real `dune install --prefix <scratch>`
and runs both rites against the INSTALLED binary, asserting exit 0
and the expected day count. test/cli.t's cram sandbox binds
%{bin:colitur} inside the build tree, where data_dir()/of_data_dir()'s
build-tree fallback candidate resolves even when the installed one is
missing entirely -- so no cram test could have caught this. Wired
into `make check` (unlike check-schema/check-templates/check-citations,
which skip when an optional external tool is absent) since installing
needs nothing beyond what building already needs. Verified the guard
has teeth: reverted data/dune to the pre-fix version and confirmed
check-install fails loudly naming the missing file.
Diffstat (limited to 'test/test_lectionary.ml')
0 files changed, 0 insertions, 0 deletions
