Run the gomeos package's own tests - #18
Merged
estebanzimanyi merged 2 commits intoSep 3, 2026
Merged
Conversation
WITNESS: `go build ./functions` against a libmeos built from MobilityDB
40eb373334 at -DALL=ON reports
functions/meos_meos_internal_geo.go:115:2: could not determine kind of
name for C.geo_set_srid_int
MEOS publishes `geo_set_srid`, and `geo_set_srid_int` appears in neither the
installed headers nor the exported symbols of libmeos.so, so the snapshot
names a spelling the library does not carry.
MEASURED: regenerating with `python3 tools/codegen.py` against a catalog
derived from that same commit moves five files, +900 -35, and `go build
./functions` then exits 0. The retired name drops to 0 occurrences while
`geo_set_srid` remains the one spelling present.
WHY: `functions/` is the snapshot a `go get` consumer compiles, so a name MEOS
has retired reaches consumers as a build failure in their own tree. The
snapshot is a projection of the catalog and carries no independent authority;
where the two disagree the catalog is right.
estebanzimanyi
force-pushed
the
ci/every-test-runs
branch
from
September 2, 2026 23:06
4609803 to
54a2d9e
Compare
The build job installs an all-families libmeos and then collects no test from the gomeos package, which holds the binding's only behavioural tests: 115 Example functions whose `// Output:` block is the assertion. WITNESS: `ExampleFloatSpan_Distance` asks the distance between the float span `[1.1, 3.3]` and 20, and states the answer as 4.625393849793197e+18. That number is the IEEE-754 bit pattern of 16.7 read as a double -- 16.7's bits are the integer 4625393849793196851, which prints as 4.625393849793197e+18. The expectation records a Datum arriving unwrapped; MEOS answers 16.7, which is 20 - 3.3. MEASURED against libmeos built from MobilityDB 40eb373334 at -DALL=ON: the package reports 115 result lines and 0 skipped. Reverting the corrected line alone puts that bit pattern back where MEOS states 16.7, so the expectation is what moves and nothing else. The guard holds the count: it accepts a floor of 115, refuses 116, and refuses the same log with one result line rewritten to SKIP. WHY: a test no job collects is reported nowhere, so no skip count can see it and nothing compares its expectation against MEOS -- which is how an expectation recording a defect survives. The timezone is stated in the job rather than inherited, because the expectations print timestamptz values and the zone is therefore an input to the assertion. This change sits on top of the functions-snapshot refresh, which the build job reaches first.
estebanzimanyi
force-pushed
the
ci/every-test-runs
branch
from
September 2, 2026 23:07
54a2d9e to
b418561
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The build job installs an all-families libmeos and then collects no test from
the gomeos package, which holds the binding's only behavioural tests: 115
Example functions whose
// Output:block is the assertion.WITNESS:
ExampleFloatSpan_Distanceasks the distance between the float span[1.1, 3.3]and 20, and states the answer as 4.625393849793197e+18. Thatnumber is the IEEE-754 bit pattern of 16.7 read as a double -- 16.7's bits are
the integer 4625393849793196851, which prints as 4.625393849793197e+18. The
expectation records a Datum arriving unwrapped; MEOS answers 16.7, which is
20 - 3.3.
MEASURED against libmeos built from MobilityDB 40eb373334 at -DALL=ON: the
package reports 115 result lines and 0 skipped. Reverting the corrected line
alone puts that bit pattern back where MEOS states 16.7, so the expectation is
what moves and nothing else. The guard holds the count: it accepts a floor of
115, refuses 116, and refuses the same log with one result line rewritten to
SKIP.
WHY: a test no job collects is reported nowhere, so no skip count can see it
and nothing compares its expectation against MEOS -- which is how an
expectation recording a defect survives. The timezone is stated in the job
rather than inherited, because the expectations print timestamptz values and
the zone is therefore an input to the assertion.
This change sits on top of the functions-snapshot refresh, which the build job reaches first.