eckit::geo: geo tests conditional on their required features - #358
Conversation
e656854 to
aff46b8
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #358 +/- ##
===========================================
+ Coverage 67.97% 68.73% +0.76%
===========================================
Files 1187 1188 +1
Lines 62532 63017 +485
Branches 4715 4743 +28
===========================================
+ Hits 42503 43312 +809
+ Misses 20029 19705 -324 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
@mcocdawc I think this is ready -- all tests pass (except much downstream ones from the old CI) |
aff46b8 to
69712b0
Compare
mcocdawc
left a comment
There was a problem hiding this comment.
The title and description cover only the last commit (the test guards), but this PR re-enables feature/eckit-geo. Could you put a short note in the PR description.
for disclosure: I reviewed with AI tools, but the comments do make sense.
8701a50 to
22759e7
Compare
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ojectionFactory::build
… not as a spec string
22759e7 to
be53483
Compare
mcocdawc
left a comment
There was a problem hiding this comment.
Looks great :) and the separation of unzip.cc is nice.
Note though: no CI image has libzip, so the unzip test still never runs.
Might be worth to create an issue and follow up on it.
If ecmwf/eccodes#573 is also ready they can be merged in order eckit, then eccodes.
Description
Projections:
Figures:
Static factories: a simpler factory pattern for grids, iterators and projections, with less boilerplate.
Thread safety: lock_type now owns its mutex. It's used across the caches (memory, disk, download, grid, lat/lon), HEALPix, ranges and the k-d tree search.
ORCA grids: definitions updated from v0 to v1 (share/eckit/geo/ORCA.yaml).
eckit::spec: improved floating-point output.
eckit python: numpy is now optional.
Fix download-dependent tests in builds without curl. The geo tests that download grid data now only run when eckit is built with curl: these are conditioned on eckit_HAVE_LZ4 AND eckit_HAVE_CURL, and the PROJ tests use CONDITION eckit_HAVE_PROJ.
The cache test is always built: its download, grid and unzip cases are guarded in the source by eckit_HAVE_CURL / eckit_HAVE_LZ4 / eckit_HAVE_ZIP. The zip file it unpacks is now passed as an argument (--cacheable_zip) instead of a compile definition, and the unzip case is skipped when no file is given.
cache/Unzip is now part of eckit_geo whenever ZIP is enabled (previously only with shapefile support), so the test no longer compiles it separately.
Contributor Declaration
By opening this pull request, I affirm the following:
🌦️ >> Documentation << 🌦️
https://sites.ecmwf.int/docs/dev-section/eckit/pull-requests/PR-358