aboutsummaryrefslogtreecommitdiff
path: root/tools/dune
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-19 23:48:35 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-19 23:48:35 +0200
commitecadd969e1d96918820a1fdac0cf0d520d96ba06 (patch)
treea06ed1160bfd28ae4578d9445242e48ac9ac3ea4 /tools/dune
parent6762ce46af3cb12bc6ae37cda762c5d95add7903 (diff)
parent329d07b49e397cb65ab52e7ca019b47313027136 (diff)
downloadcolitur-ecadd969e1d96918820a1fdac0cf0d520d96ba06.tar.gz
colitur-ecadd969e1d96918820a1fdac0cf0d520d96ba06.zip
feat: naming, localisation and the rebuilt printed output
colitur computed the calendar correctly and could not say what it had computed. A printed ordo read ef-septuagesima-sunday-2 where a reader expects Dominica in Sexagesima, and the wall calendar showed slugs in every cell. lib/naming a language table and a config file, both pure and total, parsing the INI reader Overlay_ini already had lang/ la.ini and en.ini -- 725 names, every one transcribed from the 1962 Missal and citing the line it came from templates the ordo rebuilt as an A5 booklet: one week per page, a table of contents, framed days, a colour swatch; the wall calendar now fills its sheet instead of a quarter of it tools check_citations.py verifies all 400 citations resolve, with 33 self-tests of its own Names resolve through lang -> declared fallback -> the slug, so a partial translation is usable from its first line and the fully degraded case is the old output rather than a blank page. colitur day and colitur readings are BYTE-IDENTICAL to before, verified against main rather than asserted; --lang, --raw and the lang/config subcommands are still to come, and man/colitur-templates.5 still documents the pre-naming view, so writing a custom template needs the source until that lands.
Diffstat (limited to 'tools/dune')
-rw-r--r--tools/dune19
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/dune b/tools/dune
index 96b6b36..0dd0937 100644
--- a/tools/dune
+++ b/tools/dune
@@ -22,3 +22,22 @@
(executable
(name bootstrap_lectionary)
(libraries colitur_kernel rite_ef unix sexplib))
+
+; check_citations.py's own self-test (test_check_citations.py). Python, not
+; OCaml, so it cannot be a `(test ...)` stanza -- an alias rule invoking it
+; directly is dune's own documented shape for a non-OCaml check. Wired into
+; the `runtest` alias (what `dune test`/`make test`/`make check` all build)
+; so this suite runs every time the rest of the project's tests do, not
+; only when someone remembers to run it by hand -- the exact discipline
+; missing when check_citations.py itself shipped with no tests and its own
+; self-poisoning bug went uncaught. Depends on both .py files (the test
+; imports check_citations as a plain module, found via its own directory,
+; once dune copies both into the sandboxed build directory) and on nothing
+; else -- the fixture is entirely synthetic, no docs/research/LT.txt or
+; lang/la.ini involved, so this rule runs identically whether or not the
+; gitignored research corpus is present locally.
+(rule
+ (alias runtest)
+ (deps check_citations.py test_check_citations.py)
+ (action
+ (run python3 test_check_citations.py)))