Skip to content

Run every MEOS test in every build (stacked on #63) - #64

Merged
estebanzimanyi merged 2 commits into
MobilityDB:mainfrom
estebanzimanyi:test/refuse-skip-constructs
Sep 12, 2026
Merged

estebanzimanyi merged 2 commits into
MobilityDB:mainfrom
estebanzimanyi:test/refuse-skip-constructs

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

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.

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.
@estebanzimanyi
estebanzimanyi merged commit 4d91c2c into MobilityDB:main Sep 12, 2026
3 checks passed
@estebanzimanyi
estebanzimanyi deleted the test/refuse-skip-constructs branch September 12, 2026 14:24
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