Run every MEOS test in every build (stacked on #63) - #64
Merged
estebanzimanyi merged 2 commits intoSep 12, 2026
Merged
Conversation
The MeosOps* facades are grouped by the catalog's object model, which gives a class to every base value MEOS passes by reference: geom_in belongs to Geometry, the cbuffer, npoint and pose constructors and accessors to Cbuffer, Npoint and Pose, geo_as_text to Geo. The smoke tests call those methods on the free-function classes, MeosOpsFreeGeo, MeosOpsFreeCbuffer, MeosOpsFreeNpoint and MeosOpsFreePose, which hold none of them, so the binding module's tests do not compile against facades generated from the current catalog. Each call names the class that holds the method, in both the binding and the benchmark copies. The wiring javadoc and README name methods the same way and are checked against the same facades: overlaps_tbox_tbox is on MeosOpsFreeCore, edwithin_tgeo_tgeo on MeosOpsFreeGeo, tbox_in on MeosOpsTBox, and the windowed-tier examples use tpoint_length and tnumber_twavg, the MEOS functions for a trajectory's length and a temporal number's time-weighted average.
Ten test classes carried @EnabledIfSystemProperty(named = "meos.enabled"), so a build without the property reported each of them as skipped under a green conclusion. Each class runs in every build and needs a libmeos on the load path, which CI and tools/refresh-from-master.sh both supply. The meos.enabled property gated nothing but those classes, so it leaves the poms, the workflows, tools/refresh.conf and GENERATION.md with them. The benchmark compiler's testExcludes, which kept no test out and could keep any test out, goes as well; the Sedona sources stay out of the main build. The demo jobs name the switch the generated runtime reads, mobilityflink.meos.enabled (MeosOpsRuntime). The benchmark pom's closing comment described family flags that no pom, workflow or script implements, and the facade smoke test said the family smoke tests compile only under those flags; both statements go.
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.
Name every facade method by the class the catalog puts it in
The MeosOps* facades are grouped by the catalog's object model, which gives a
class to every base value MEOS passes by reference: geom_in belongs to
Geometry, the cbuffer, npoint and pose constructors and accessors to Cbuffer,
Npoint and Pose, geo_as_text to Geo. The smoke tests call those methods on the
free-function classes, MeosOpsFreeGeo, MeosOpsFreeCbuffer, MeosOpsFreeNpoint and
MeosOpsFreePose, which hold none of them, so the binding module's tests do not
compile against facades generated from the current catalog. Each call names
the class that holds the method, in both the binding and the benchmark copies.
The wiring javadoc and README name methods the same way and are checked against
the same facades: overlaps_tbox_tbox is on MeosOpsFreeCore, edwithin_tgeo_tgeo
on MeosOpsFreeGeo, tbox_in on MeosOpsTBox, and the windowed-tier examples use
tpoint_length and tnumber_twavg, the MEOS functions for a trajectory's length
and a temporal number's time-weighted average.
Run every MEOS test in every build
Ten test classes carried @EnabledIfSystemProperty(named = "meos.enabled"),
so a build without the property reported each of them as skipped under a
green conclusion. Each class runs in every build and needs a libmeos on
the load path, which CI and tools/refresh-from-master.sh both supply. The
meos.enabled property gated nothing but those classes, so it leaves the
poms, the workflows, tools/refresh.conf and GENERATION.md with them. The
benchmark compiler's testExcludes, which kept no test out and could keep
any test out, goes as well; the Sedona sources stay out of the main build.
The demo jobs name the switch the generated runtime reads,
mobilityflink.meos.enabled (MeosOpsRuntime). The benchmark pom's closing
comment described family flags that no pom, workflow or script
implements, and the facade smoke test said the family smoke tests compile
only under those flags; both statements go.