Skip to content

Run every test this repository carries, and refuse a skip - #65

Merged
estebanzimanyi merged 1 commit into
masterfrom
ci/no-test-goes-unrun
Sep 2, 2026
Merged

Run every test this repository carries, and refuse a skip#65
estebanzimanyi merged 1 commit into
masterfrom
ci/no-test-goes-unrun

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

Every test runs in the conformance job, which supplies the three preconditions
the suite has: the fixture database the Annex A data tests read, a libmeos the
streaming engine links, and the network the published OGC schemas are fetched
over. The job then refuses any reported skip, and holds a floor under the
number of top-level tests that run.

A test skips because a precondition is missing from the job that collects it,
and a job whose conclusion is success having skipped is indistinguishable from
one that asserted something. The default run leaves 12 top-level tests and 17
subtests unrun: eleven Annex A groups and their seventeen operations for want
of MFAPI_DSN, and the comparison against the schemas OGC publishes for want of
MFAPI_SCHEMA_FRESHNESS. The conformance job selects a subset by name, so the
schema comparison belongs to no job at all, and the five streaming engine tests
behind the meos build tag are compiled by no job, which no skip count can show.

The build job keeps what needs neither a database nor a library: the
formatting, and a vet and build of each build tag set, so a file behind a tag
cannot rot unnoticed. It collects no test, since a test collected without its
database can only skip.

The floor is the second rule and the one that is easy to omit. Once skipping is
refused, deleting a test is the remaining way to stop running it, and it leaves
no skip behind, so only the total moves. It is 77, the number of top-level
tests the tree declares under the meos tag; without a database 11 of those are
unrun, and with one none are.

libmeos is built from the MobilityDB checkout the database is built from, so
the engine tests and the SQL routes measure one commit rather than two.

Every test runs in the conformance job, which supplies the three preconditions
the suite has: the fixture database the Annex A data tests read, a libmeos the
streaming engine links, and the network the published OGC schemas are fetched
over. The job then refuses any reported skip, and holds a floor under the
number of top-level tests that run.

A test skips because a precondition is missing from the job that collects it,
and a job whose conclusion is success having skipped is indistinguishable from
one that asserted something. The default run leaves 12 top-level tests and 17
subtests unrun: eleven Annex A groups and their seventeen operations for want
of MFAPI_DSN, and the comparison against the schemas OGC publishes for want of
MFAPI_SCHEMA_FRESHNESS. The conformance job selects a subset by name, so the
schema comparison belongs to no job at all, and the five streaming engine tests
behind the meos build tag are compiled by no job, which no skip count can show.

The build job keeps what needs neither a database nor a library: the
formatting, and a vet and build of each build tag set, so a file behind a tag
cannot rot unnoticed. It collects no test, since a test collected without its
database can only skip.

The floor is the second rule and the one that is easy to omit. Once skipping is
refused, deleting a test is the remaining way to stop running it, and it leaves
no skip behind, so only the total moves. It is 77, the number of top-level
tests the tree declares under the meos tag; without a database 11 of those are
unrun, and with one none are.

libmeos is built from the MobilityDB checkout the database is built from, so
the engine tests and the SQL routes measure one commit rather than two.
@estebanzimanyi
estebanzimanyi merged commit b0cc6ba into master Sep 2, 2026
2 checks passed
@estebanzimanyi
estebanzimanyi deleted the ci/no-test-goes-unrun branch September 2, 2026 20:20
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