aboutsummaryrefslogtreecommitdiff
path: root/test/test_lectionary_of.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_lectionary_of.ml')
-rw-r--r--test/test_lectionary_of.ml44
1 files changed, 21 insertions, 23 deletions
diff --git a/test/test_lectionary_of.ml b/test/test_lectionary_of.ml
index 6b599c1..cbffdd2 100644
--- a/test/test_lectionary_of.ml
+++ b/test/test_lectionary_of.ml
@@ -201,7 +201,7 @@ let test_sha256_pinned () =
and test_citation_coverage_of.ml), and the header's "Epistle" wording
is fixed to "First". Re-derived the same way, same discipline. *)
Alcotest.(check string) "data/of/lectionary.sexp SHA-256"
- "788ddc6d2d783286b6e64882a5372ae213cd5462c887e68aa2bea22388cdb4f7" (sha256_of_file lectionary_path)
+ "aaa57bd7229bbd1fb3372fb9467251419885af6f02dbd19d328a6c410030868d" (sha256_of_file lectionary_path)
(* lectio's OWN of-lectionary.ini SHA-256, pinned inside data/of/
lectionary.sexp's own provenance header (tools/bootstrap_lectionary_of
@@ -216,7 +216,7 @@ let test_source_sha256_pinned_in_header () =
let n = in_channel_length ic in
let content = really_input_string ic n in
close_in ic;
- let needle = "SHA-256: f0b527aef58b93e6ccdfbeafe52b340ed2a9d7d72805bf5083e3da04b080123c" in
+ let needle = "SHA-256: 7b6c6a26abf222312c3000aeaae131887bbb1e2af3863c68a3e5ad005cd07ba9" in
let contains haystack needle =
let hl = String.length haystack and nl = String.length needle in
let rec go i = i + nl <= hl && (String.sub haystack i nl = needle || go (i + 1)) in
@@ -505,26 +505,24 @@ let test_christmas_date_keyed_no_drift () =
An unscoped version of this test would report seventeen false positives
and would, correctly, be switched off by whoever next read it.
- PINNED, NOT GREEN (2026-08-28). Six pairs violate the invariant today,
- and every one is the same transcription fault: a Year II Gospel ending at
- verse 22 where the OLM ends it at 20. All six are confirmed against the
- Latin OLM itself (docs/research/of/olm-1981-ocr.txt: "Mc 1, 14-20",
- "Mc 4, 1-20", "Mc 5, 1-20", "Mt 7, 15-20", "Mt 17, 14-20",
- "Mt 18, 15-20"), and three of them independently against litcal.
+ CLOSED (2026-08-28, same day it was opened). Six pairs violated this when
+ the test was written, every one the same transcription fault: a Year II
+ Gospel ending at verse 22 where the OLM ends it at 20. All six are now
+ corrected upstream in lectio's own internal/caldata/of-lectionary.ini and
+ this file regenerated from it, so the expected violation set is EMPTY and
+ the test asserts the invariant outright rather than pinning exceptions to
+ it. Four further corruptions the same exercise found -- three First
+ readings and of-advent-2-saturday's "Matthew 17:9a,10-135", a verse
+ Matthew 17 does not have -- are fixed in the same upstream commit but are
+ invisible to THIS check by construction: no I/II symmetry constrains a
+ First reading, and Advent has no year cycle. They were caught by comparing
+ against litcal instead, and the two SHA-256 pins above are what stop the
+ data regressing underneath either.
- The defect is UPSTREAM and verbatim -- lectio's own
- internal/caldata/of-lectionary.ini carries all six -- and this file's own
- header forbids hand-editing a generated artifact, so the correction has to
- be made there and the file regenerated. Until then the exact six are
- listed here. The test fails if a SEVENTH appears, and equally if one is
- FIXED without updating this list: both are changes a reader must see. *)
-let known_year_ii_gospel_defects =
- [ "of-ordinary-time-1-monday";
- "of-ordinary-time-12-wednesday";
- "of-ordinary-time-18-saturday";
- "of-ordinary-time-19-wednesday";
- "of-ordinary-time-3-wednesday";
- "of-ordinary-time-4-monday" ]
+ Corrections confirmed verbatim in the Latin OLM 1981: "Mc 1, 14-20",
+ "Mc 4, 1-20", "Mc 5, 1-20", "Mt 7, 15-20", "Mt 17, 14-20",
+ "Mt 18, 15-20". *)
+let known_year_ii_gospel_defects = []
let test_ordinary_time_gospel_is_year_independent () =
let entries = Lectionary.entries (real_lectionary ()) in
@@ -558,7 +556,7 @@ let test_ordinary_time_gospel_is_year_independent () =
in
Alcotest.(check bool) "the sweep actually found Ordinary Time pairs to check" true (List.length stems > 100);
Alcotest.(check (list string))
- "Ordinary Time: Year I and Year II share one Gospel, except the six pinned upstream defects"
+ "Ordinary Time: Year I and Year II share one Gospel, with no exceptions"
known_year_ii_gospel_defects (List.sort compare violations)
let suite =
@@ -579,6 +577,6 @@ let suite =
Alcotest.test_case "Christmas-season date-keyed reading does not drift (2 January)" `Quick
test_christmas_date_keyed_no_drift;
Alcotest.test_case
- "Ordinary Time Gospel is year-independent (OLM n. 69.4); six upstream defects pinned" `Quick
+ "Ordinary Time Gospel is year-independent (OLM n. 69.4)" `Quick
test_ordinary_time_gospel_is_year_independent
]