#121: Iceland's remaining R-checks as acceptance tests (R34, R49, R105, R119, R120) #132
No reviewers
Labels
No labels
blocked
claude-wip
map-report
map:is
map:se
needs-review
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
art/ismap!132
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-121-is-acceptance-tests"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #121
#121 — Iceland: acceptance tests for the remaining R-checks
Config-only change (
conf/ismap.yaml): the manual R-checks still listed ascandidates in #115's plan are now acceptance tests, run on every import of the
layer and in
-acceptance-onlyreview runs. No import was needed — this isconfig, and every test reads data already live in the DB.
What was added (13 tests, all 10 s bucket; measured 0–0.3 s live)
coverwaterwaysNotes for the reviewer:
I used LMÍ's own territory polygons (the
morkstaging table — already in theDB, feeding
country_bordersandcountry_mask) rather than a hardcodedfigure, which is the same two-products cross-check
docs/country-finland.mddocuments for Finland (MML outline vs SYKE CORINE). Live: cover 103 497 km² vs
mork 102 714 km² = +0.76 %; the official 103 000 km² sits between the two. The
sea polygon is the computed box-minus-coastline mask, not national territory,
so the query excludes it — the comment says so.
contract's R46 test, which runs for every country. R50/R51 are properties of
the polygon-adjacency graph the importer builds, not of anything the output
tables witness, so they cannot be an acceptance test — the monotone shape is
the portable part, and its comment says exactly that. The CASE's first arm
guards the empty-partition case (an Iceland partition with no rows would
otherwise pass the shape check vacuously).
"deliberate empty" case applies in principle; per layer the comment records
that none of its filters empties a zoom.
count(*) = Nturns a missing zoomtable into a failure rather than a vacuous pass over the tables that exist;
requires:guards the whole layer on its maxz table so a half-built DB skips.airports ("R13's Iceland-only set"); airport_points is the airports label layer
of that same set, with its own tables, so it gets the same two tests.
ships with #120 itself (PR #131, still open; its fix is already live in the DB
and the issue's comment records the dependency). Do not re-add it — this PR
only references it.
acceptance_tests:block tothe
coverlayer (R139 there, R34 here) — whoever merges second needs atwo-line rebase to fold the blocks together. Nothing else overlaps.
Verification (live DB, no writes)
(semap's single not-run is the pre-existing R35 at 100 s — needs
-acceptance all, unrelated to this change.)New-test highlights from the run:
Nothing left undone that I know of: the R46–R51 cluster's graph-internal halves
(R50/R51) and #122's area-collapse-per-zoom measurement are the documented
remainders, both already filed elsewhere.
18345a1e75to49e6a4cd7bReview pass (art-bot). Two things changed about how this lands, not just what it contains.
R105 was disabled, not strict. It listed
is_lcv_lmi_landcoverunitinrequires:, and that table is added by #120'sstaging:block, not this one.requires:skips a test whose tables are missing, so against a database built from this branch's config alone the check would not have run — not for the landcover table, and not for the four that are there either. It passed in review only because the live DB still held #120's import.This branch is now stacked on
issue-120-is-cover-validity. That makes the list true and resolves the collision the two branches had — both inserted anacceptance_tests:key into thecoverlayer at the same line, so whichever merged second would have conflicted. The fold is done here: R139, R120 and R34 under one key. Merge #131 first; once it is on main this branch's diff is its own 208 lines again.Also added, per docs/country-requirements.md's own rule that a check automated in a commit is recorded there in the same commit:
*Check:*lines for R34, R49 and R105. R49's now also says why R50/R51 cannot have an acceptance test, which was in the config comment but not in the document that sends people looking.Live: 26 acceptance tests, 26 passed.